JVM Heap의 Layout
·
JVM
자바는 객체를 위주로 돌아가는 언어인데 이 객체들은 힙에 저장된다.내가 저장하는 객체들이 어떻게 저장되어 있는지 알아볼 필요가 있다.시작하기에 앞서 JDK 9부터 기본 GC로 G1 GC가 사용되고 있다.그래서 이 글은 G1 GC를 기반으로 한다.Heap은 이렇게 나뉜다일단 힙은 여러 구역으로 나뉜다.G1 GC도 기존의 GC들이 그랬듯이 Eden, Survivor, Old 가 있고, 기존 GC들과 다른 점이 있다면 거대 객체를 저장하기 위한 Humongous가 있다.또 하나 다른 점이 있다면, 기존에는 위와 같이 각 영역들이 고정된 크기로 연속된 주소에 있었지만 G1 GC는 단순히 수천 개의 region으로 분할하여 사용한다.위 이미지에 보이는 조각들이 모두 각각 하나의 region이다.이 region들은..