До Java 7 в JVM-памяти существовала область PermGen, в которой JVM хранила свои классы. В Java 8 он был удален и заменен областью под названием Metaspace.
Каковы наиболее важные различия между PermGen и Metaspace?
Единственное различие, которое я знаю, состоит в том, что java.lang.OutOfMemoryError: PermGen space
больше не может быть выброшено, а параметр VM MaxPermSize
игнорируется.