jvm튜닝 2

개발자 면접 질문 - jvm 튜닝

1. 튜닝 필요성 - Xms 옵션과 Xmx 옵션 메모리 설정 없이 사용중일때 - JVM 옵션에 -Server 옵션이 설정되어 있지 않을 때 - 시스템에 Timeout 같은 로그가 발생하면서 정상적인 트랜잭션 처리가 이루어지지 않을 때 2. 튜닝 목적 - 첫번째로 Old Area로 넘어가는 Object의 수를 최소화 한다. - Full GC의 실행 시간을 줄인다. 3. Object 수 최소화 방법 - String 대신 StringBuilder나 StringBuffer 사용 - 로그를 최대한 적게 쌓도록 한다. - 대용량 XML 파일을 사용 않는다. (현실적으로 이렇게 하기에는 어려움) - Object의 수를 줄이면 Old Area로 이동하는 Object의 수가 줄어들면서 Full GC 발생하는 빈도가 줄어..

면접 - 자바 2020.12.03

JVM 메모리 구조 및 JVM 튜닝

jvm 튜닝에 앞서 jvm 메모리 구조에 대해 먼저 알아보겠습니다. 1. Method Area (메서드 영역) - 클래스 멤버 변수의 이름, 데이터 타입, 접근 제어자 정보, 필드 정보, 메서드의 이름, 리턴 타입, 파라미터 등의 변수 등이 생성되는 영역 2. Heap Area(힙 영역) - new 키워드로 생성된 객체와 배열이 생성되는 영역 - 메서드 영역에 로드된 클래스만 생성이 가능하고 Garbage Collector가 참조되지 않는 메모리를 확인하고 제거하는 영역 3. Stack Area(스택 영역) - 지역 변수, 파라미터, 리턴 값, 연산에 사용되는 임시 값 등이 생성되는 영역 4. PC Register (PC 레지스터) - Thread가 생성될 때마다 생성되는 영역으로 Program Coun..

개발 2020.08.13