De JVM beheert geheugen automatisch — wijzijgt objecten toe en geeft onbereikbare objecten vrij via garbage collection (GC) — zodat je geheugen niet handmatig hoeft vrij te geven. Het begrijpen van de geheugenregio's en GC-gedrag is essentieel voor het tunen van prestaties en het diagnosticeren van geheugenproblemen.
JVM-geheugenregio's
HEAP — where all OBJECTS live (shared across threads), GC operates here
├── Young Generation — new objects (most die young)
│ ├── Eden — new allocations go here
│ └── Survivor — objects that survived a young GC
└── Old (Tenured) Gen — long-lived objects (promoted from young)
STACK — per-thread; method frames, local variables, primitive locals, references
Metaspace — class metadata (replaced PermGen in Java 8+)
