PermGen removed, Metaspace arrives
The JVM change in Java 8 that silently deleted a whole category of production outage.
Open this lesson in the learning hubKey points
- Class metadata used to live in PermGen, a fixed-size region set by
-XX:MaxPermSize. - Redeploy an app server enough times and old class loaders filled it:
OutOfMemoryError: PermGen space. - Java 8 moved metadata to Metaspace, allocated from native memory and growing by default.
- The classic error disappeared - but an unbounded leak now eats native memory instead, so leaks still matter.
-XX:MaxPermSizeis ignored on 8+; the JVM warns and moves on.
Java 8 deleted the PermGen error, but a class-loader leak still costs you native memory.
This is a reading copy. The full lesson — with the visual explainer, the interactive lab and a Run button for the code — lives in the Java 8 Course course, and every lesson in it is listed on the Java 8 Course contents page.