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:

    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)

    —First a shiver, and then a thrill,
    Then something decidedly like a spill,—
    And the parson was sitting up on a rock,
    At half-past nine by the meet’n’-house clock,—
    Just the hour of the Earthquake shock!
    MWhat do you think the parson found,
    When he got up and stared around?
    The poor old chaise in a heap or mound,
    As if it had been to the mill and ground!
    Oliver Wendell Holmes, Sr. (1809–1894)

    I will heap disasters upon them, spend my arrows against them:
    Bible: Hebrew, Deuteronomy 32:23.