What is the difference between PermGen and Metaspace?
Until Java 7 there was an area in JVM memory called PermGen , where JVM used to keep its classes. In Java 8 it was removed and replaced by area called Metaspace . What are the most important differences between PermGen and Metaspace? The only difference I know is that java.lang.OutOfMemoryError: PermGen space can no longer be thrown and the VM parameter MaxPermSize is ignored. Mattias Jiderhamn The main difference from a user perspective - which I think the previous answer does not stress enough - is that Metaspace by default auto increases its size (up to what the underlying OS provides),