jdk 1.7 이하, 즉 Java 8 이전 버전에서의 JVM 메모리 구조(Runtime Data Area)와 Java 8 이후의 JVM 구조는 아래와 같은 차이가 존재한다. Eden 영역과 Survivor, Old 영역의 존재는 변함이 없다. 하지만 Java 8 이후부터는 Permanent Heap(이하 Permgen) 영역이 제거되고 Metaspace 영역이 생성된 것이다. 특히 눈여겨볼만한 점은 Permgen은 Heap 영역에 속했었는데 Metaspace는 Native Memory 즉 OS 관리대상에 속한다는 것이다. 근데 Permgen(Java 7 이하), Metaspace(Java 8 이후)가 뭐하는 녀석인데? 여기서 잠깐, Permgen (Metaspace)에서는 무엇을 관리하는걸까? 자, 잠깐..