CS/언어
-
[JAVA] JVM RuntimeDataArea 의 Heap 영역CS/언어 2023. 8. 26. 17:50
JVM의 RuntimeDataArea 에는 다섯가지 영역이 있습니다. 1. Method Area 2. Heap Area 3. Stack Area 4. Native Method Stack 5. PC register 그 중 Heap Area 는 new 연산으로 선언한 객체, 배열 인스턴스들을 저장하는 공간입니다. Heap 영역은 JVM당 하나만 실행되며 스레드들이 서로 공유하는 영역이므로 메모리를 주기적으로 관리해줘야합니다. JVM 에서는 Garbage Collection 방식을 사용해 Root Set 에서 더이상 참조되지않는 인스턴스들을 제거해 메모리를 재활용 합니다. reachable -> 참조되고있는 인스턴스 unreachable -> 참조되고있지 않은 인스턴스 Young Generation 은 new..
-
[JAVA] 자바 Runtime Data Area 분석CS/언어 2023. 8. 18. 20:54
** 개인 학습을 위해 작성된 글이며 모든 정보는 오류가 있을 수 있습니다. 자바 Runtime Data Area 에 대해 알아보기전 간단하게 자바 프로그램의 실행과정에 대해 간단하게 알아보겠습니다. 개발자가 작성한 자바 코드를 자바 컴파일러가 바이트 코드로 변환시켜줍니다. 로딩된 클래스들은 Execution Engine을 통해 해석됩니다. 이후 해석된 바이트코드는 Runtime Data Area 에 배치돼 실질적인 수행이 이루어집니다. Runtime Data Area의 구조는 그림과 같이 5가지 영역으로 나뉩니다. 5가지 영역중 Method Area 와 Heap Area 는 스레드들이 공유하는 영역이고 Stack Area, PC Register, Native Method Stack 은 개별 스레드마다 ..