Java Virtual Machine - Heap

Heap

The Java virtual machine heap is the area of memory used by the JVM, specifically HotSpot, for dynamic memory allocation. The heap is divided into generations:

  • The young generation stores short-lived objects that are created and immediately garbage collected.
  • Objects that persist longer are moved to the old generation (also called the tenured generation).
  • The permanent generation (or permgen) is used for class definitions and associated metadata.

Originally there was no permanent generation, and objects and classes were stored together in the same area. But as class unloading occurs much more rarely than objects are collected, moving class structures to a specific area allows significant performance improvements.

Read more about this topic:  Java Virtual Machine

Famous quotes containing the word heap:

    In Africa I had indeed found a sufficiently frightful kind of loneliness but the isolation of this American ant heap was even more shattering.
    Louis-Ferdinand Céline (1894–1961)

    Mortality, behold, and fear,
    What a change of flesh is here!
    Think how many royal bones
    Sleep within this heap of stones,
    Hence removed from beds of ease,
    Dainty fare, and what might please,
    Francis Beaumont (1584-1616)

    Science is built up with facts, as a house is with stones. But a collection of facts is no more a science than a heap of stones is a house.
    Jules Henri Poincare (1854–1912)