PermGen(Permanent Heap)은 Java 8 버전 이하에서 존재했다. 클래스 메타데이터가 들어갈 곳인데 이 공간의 크기를 예측하기 어려웠다. 자바에서는 클래스의 메타데이터(class 메타정보, Method의 메타정보, static변수, 상수정보)를 읽고 해당 메타데이터를 통해 객체를 생성할 수 있다. PermGen 영역은 OS, JVM버전마다 각기 다른 default값을 가지고 있으며 대부분 매우 작게 할당되어 있어 java.lang.OutOfMemoryError와 같은 에러를 접할 수 있다. PermSize를 commandline에서 늘릴 수 있으나 임시방편이다. Java 8 버전에서는 PermGen 영역이 Metaspace로 대체되었다. Metaspace는 Native memory에 속하..