Java GC Java는 JVM에서 GC가 자동으로 동작한다. GC를 실행하기 위해 JVM이 어플리케이션 실행을 멈추는 stop-the-world가 발생하고 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다. GC 기법으로 세대 단위 쓰레기 수집 기법
GC(Garbage Collection)란? 메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 더 이상 필요없게 된 영역이란 어떤 변수도 가리키지 않게 된 영역을 의미한다. Java의 경우 처음부터 GC 기법을 염두에 두고 설계되어 언어 정의에 쓰레기 수집이 포함되어 있다. 다음과 같은 버그...
문제에서 큰 값이 나올 수 있으면 long 사용 여부를 확인하자. 문제 보기 사용한 것 시간 복잡도를 해결하기 위한 이진탐색 사용. 풀이 방법 입국 심사를 기다리는 사람은 최대 1,000,000,000명, 한 사람당 최대 심사 시간은 1,000,000,000분이다
다이나믹 프로그래밍으로 풀어야 하는데 DFS로 풀이한 것 같다. 다이나믹 프로그래밍을 더 연습하자. 문제 보기 사용한 것 N을 8번 이하 사용하여 목표 값을 구할 수 있는지 판별하기 위한 DFS 풀이 방법 DFS를 진행하면서 더하거나, 빼거나, 나누거나, 곱한다. 사칙연산을 사용하지 않고 붙여서 사용하는 경우도 생각한다. (5 두번하면 55) N의 사...
결론부터 말하자면 fetch join에서 on절을 사용할 수 없다. > with-clause not allowed on fetched association 사용하려고 한다면 위와 같은 에러를 마주하게 된다. on절을 사용하고자 한 이유 헤어샵 예약 관리 시스템을 개발하던 중, 해당 날짜, 헤어샵의 디자이너별 예약 가능한 시간을 조회하기 위하여 다음과...
재귀함수를 사용 시 쓸데 없는 호출이 있는지 확인하자. 문제 보기 사용한 것 멤버와 추천인을 저장하기 위한 해시 테이블 풀이 방법 enroll, referral을 순회하며 멤버와 추천인을 저장한다. sellecr, amount를 순회하며 판매자, 판매한 개수 * 100 로 share()을 호출한다. 이익의 90%를 자신이 가진다. 이익의 10%...
강의 바로가기 여기 SQL의 분류 DML(Data Manipulation Language) 테이블의 row SELECT, INSERT, UPDATE, DELETE 트랜잭션이 발생하는 SQL도 DML에 속함 DDL(Data Definition Language
순서에 상관 없이 방문 가능 여부만 판단하면 되는 문제도 있다. 문제 보기 사용한 것 노드의 방문 가능 여부를 구하기 위해 BFS 사용 HashMap에 노드 번호와 해당 노드에서 방문 가능한 노드 리스트 저장 visited로 노드 방문 여부 저장 before에 선후 관계 저장 save에 도달할 수 있지만 선후 관계 때문에 아직 방문못하는 노드 저장 풀...
Jmeter로 대량의 HTTP request를 보내는 부하 테스트를 진행하던 중, 10000개의 스레드가 동시 요청할 때 HikariCP connection-timeout 설정 값을 넘기게 되어 에러가 발생하였다. 처음에는 Connection의 개수가 부족해서 발생한
미로 찾기 최단 거리 사용한 것 최소 비용으로 경주로를 건설하기 위한 BFS 좌표, 방향, 비용을 저장하기 위한 Point 좌표, 방향 방문 여부를 저장하기 위한 visited 좌표 벗어났는지 판별하기 위한 isOOB() 풀이 방법 방문 여부를 좌표, 방향별로 저장하기 위해 booleanN[4]로 visited 초기화 경주로 건설의 최소 비용 탐색(BF...
getOrDefault() : 해시 맵에 있으면 가져오고 없으면 default 반환하는 메소드 문제 보기 사용한 것 연속적으로 진열 된 보석을 구입할 때 모든 보석을 구매하기 위한 최소 구간을 구하기 위해 투 포인터 사용 보석이름, 구간별 보석의 수를 쌍으로 저장하기 위한 해시 맵 풀이 방법 보석의 종류 수를 구하기 위해 gems를 배열에서 Set으로...
문제 보기 사용한 것 연산자 우선순위의 모든 경우를 계산하기 위한 DFS 수식을 계산하기 위한 중위 표기법 -> 후위 표기법 변환 & 계산 풀이 방법 DFS 돌면서 연산자 별로 우선 순위를 정하고, 모두 정해지면 calc() 연산자 우선순위를 고려하여 중위 표기법 -> 후위 표기법으로 변환 후위 표기법을 계산한 뒤 절대 값이 max 보다 크면 교체 ma...
프로젝트에서 헤어샵과 날짜별로 예약 가능 시간들을 포함한 디자이너 리스트를 출력하는 기능이 필요했다. 헤어샵과 디자이너가 일 대 다, 디자이너와 예약이 일 대 다 관계이고, request와 response는 다음과 같다. 그렇다면 DesignerRepository에
세그먼트: data에 4계층(TCP 등)이 붙은 것패킷: 세그먼트에 3계층(IP 등)이 붙은 것프레임: 패킷에 2계층(Ethernet 등)이 붙은 것2계층인 데이터링크 계층에 속함IEEE 802.3으로 표준화 됨단거리는 UDP케이블, 장거리는 광케이블을 통해 전송비용이
문제 보기 사용한 것 누적 재생시간이 가장 많이 나오는 곳을 구하기 위한 누적 합 시간을 String int로 변환하는 toIntTime(), toStrTime() 풀이 방법 "HH:MM:SS" (String) -> seconds (int)로 변환하여 풀이 log
문제 보기 사용한 것 순서가 없고 중복을 허용하지 않는 자료구조 Set 풀이 방법 Result 클래스에 Set으로 win, lose 필드 생성 Map 로 선수 별 결과를 저장 A가 B를 이기면 A win에 B, B win 추가 B lose에 A, A lose 추가 A lose들을 돌면서 B, B win 추가 B lose들을 돌면서 A, A...
팀 프로젝트를 하면서 테스트 코드 작성에 문제가 발생하였다. 협업을 위해 도메인별로 파트를 나눴었고, 내가 맡은 도메인은 여러 도메인과 얽혀있어 독립적이지 않았다. 따라서 내가 맡은 도메인 제외, 연관 관계에 있는 모든 엔터티들을 구현하고 실제로 jpa reposi
프로그래머스 데브코스에서 새로운 팀 프로젝트를 시작한다. 협업을 진행하면서 깃허브로 형상 관리를 할 예정이기 때문에 커밋과 PR의 컨벤션을 정해보려 한다. 커밋 메시지 >-예시- ✨로컬 로그인 기능 추가 (생략 가능) 부연 설명 (생략 가능)
문제 보기 사용한 것 시간 복잡도를 통과하기 위한 이진 탐색 이진 탐색 중 upper bound 사용 풀이 방법 간격을 1부터 마지막 집의 X좌표 - 첫 집의 X좌표 까지 이진 탐색으로 가능한지 탐색 upper bound를 사용하여 불가능한 가장 작은 인덱스 구함 일반적으로 정답은 upper bound 결과 값 - 1 하지만 마지막 인덱스가 가능...
lower bound: k값 이상이 처음 나오는 인덱스 구하기 upper bound: k값 초과가 처음 나오는 인덱스 구하기 문제 보기 사용한 것 시간 복잡도를 통과하기 위한 이진 탐색 이진 탐색 중 lower bound, upper bound 사용 풀이 방법 a