개발 공부
자바 연습문제 1번. JVM - Heap Memory 본문
1. JVM의 Heap Memory Area를 도식화 하고 각 영역에 대하여 간단하게 서술하시오
JVM의 메모리 구조는 네이티브 메모리에 저장되고 각각 다른 역할을 하는 여러 데이터 영역으로 구성되있다.
Heap Memory는 그 중에 모든 class의 instance와 array가 할당되는 곳이다.
* 인스턴스는 (new 표현식 = new 생성자) 등으로 생성한 객체
heap은 JVM이 시작함과 동시에 생성되며 모든 JVM 쓰레드에서 공유한다. 자바 프로그램을 실행하는 동안 각 쓰레드는 heap에 새로 생성된 객체에 메모리를 할당하다가 객체가 더 이상 사용되지 않으면 할당을 중지한다. 시간이 지날수록 (메모리 용량이 제한된) heap은 unreachable objects로 채워지게 된다. (*unreachable objects란 도달 가능한 참조 없이 재할당 될 자격이 있는 객체) 이러한 메모리는 바로 재할당 되어야하는데 그렇지 않으면 heap은 새로 생성된 객체를 위한 공간 없이 unreachable objects로 가득 차 퍼지게 된다.
In languages like C or C++, developers are responsible for memory management, but in Java this process is automated and it is called garbage collection (GC). The JVM garbage collector divides the heap into smaller parts called generations. These are: Young Generation and Old or Tenured Generation. Different garbage collection algorithms are used for managing different generations.
https://www.pushtechnology.com/support/kb/understanding-the-java-virtual-machine-heap-for-high-performance-applications/
'웹개발 (자바, 스프링, React) > 자바 개념' 카테고리의 다른 글
자바EE, Spring (0) | 2020.06.18 |
---|---|
애플릿, NPAPI (플러그인, 넷스케이프, 모질라) (0) | 2020.06.18 |
java servlet filter (0) | 2018.09.12 |
자바 기본 reachable and unreachable object (0) | 2018.06.21 |
자바의 정석 1,2 챕터 연습문제 (0) | 2018.06.21 |
Comments