Replies: 1 comment
-
JVM 심층 분석을 통한 스프링 프로젝트 병목 구간 파악: Controller 파라미터 매핑 어노테이션의 작동 원리와 최적 사용 전략 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
주제 선정 이유
프로젝트에 새로운 기능이 추가될수록 서버 부팅 시간이 점점 느려지는 현상을 발견하여, JVM 분석을 통해 프로젝트의 어느 지점에서 실행 속도를 저하시키는지 확인하고 이를 개선하고자 합니다.
08/29 딥다이브
방향성 정리
JVM 공부
자료 모음
9/12 딥다이브
JVM 정리
JVM이란?
자바 바이트코드(Bytecode)란?
javac
에 의해 변환되는 코드의 명령어 크기가 1바이트라서 바이트코드이며, 확장자는.class
를 쓴다.Java 컴파일 과정
.java
파일을 빌드하면javac
가 바이트코드.class
로 변환JVM의 구성요소
.class
을 메모리에 로드하고, 런타임 데이터 영역의 메서드 영역에 로드된 클래스의 메타데이터를 저장한다.static
변수의 메모리를 할당하고 자바의 기본값을 초기화한 뒤, 심볼릭 레퍼런스를 실제 메모리 주소로 변환한다.Just In Time
컴파일러: 자주 실행되는 바이트코드를 기계어로 변환한 후 캐싱하여 반복되는 코드를 빠르게 실행한다.심볼릭 레퍼런스
를 저장하는 영역이다.new
키워드로 생성한 인스턴스와 배열이 생성되며, 모든 스레드가 공유하는 영역이다. GC가 관리하는 영역이기도 하다.Native Code
를 실행할 때 사용되는 영역으로, JNI(Java Native Interface)를 통해 호출되는 메서드와 관련된 메모리를 관리한다.Beta Was this translation helpful? Give feedback.
All reactions