1. Class Initialization Orderhistorical

    When initialization is triggered, initialization rules, and examples for a single class and an inheritance hierarchy.

  2. 7.9 Object Allocation Ruleshistorical

    Historical rules and flow for object allocation in the JVM.

  3. 7.10 3. Garbage Collectorshistorical

    Generational collection and historical Serial, Parallel, CMS, and G1 collectors, including CMS/G1 details and comparison.

  4. Custom Class Loaderhistorical

    When a custom class loader is needed, how to implement one with findClass or loadClass, an example, and a reference.

  5. Escape Analysishistorical

    What escape analysis is, how to enable it, optimizations for non-escaping objects, lock elimination, scalar replacement, stack allocation, and references.

  6. 7.13 4. Selecting a Specific Garbage Collector with JVM Parametershistorical

    Matching young- and old-generation collectors, JVM parameters, and how to choose.

  7. 7.14 Object Creation Processhistorical

    Code, bytecode, explanation, and a proposed solution for object-creation instruction reordering.

  8. Garbage Collectionhistorical

    Garbage-collection concepts, when GC happens, what gets collected, what GC does, and references.

  9. 7.16 Object Layout in Memoryhistorical

    Object composition, object headers, instance data, padding, and a JOL experiment.

  10. 7.17 Referenceshistorical

    Strong, soft, weak, and phantom references, examples, and WeakHashMap.