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)

    Self-expression is not enough; experiment is not enough; the recording of special moments or cases is not enough. All of the arts have broken faith or lost connection with their origin and function. They have ceased to be concerned with the legitimate and permanent material of art.
    —Jane Heap (c. 1880–1964)

    But generally speaking philistinism presupposes a certain advanced state of civilization where throughout the ages certain traditions have accumulated in a heap and have started to stink.
    Vladimir Nabokov (1899–1977)