Java Memory explained (SUN JVM)

Here's a list of resources I had noted down. Some of these explain how the heap/garbage collection works and some have details on how to configure everything.

IBM

  • How does garbage collection work?
  • Detailed description of garbage collection
  • Generational and concurrent garbage collection

Sun

  • Turbo-charging Java HotSpot Virtual Machine, v1.4.x to Improve the Performance and Scalability of Application Servers - (discussion of low pause collectors)
  • Performance Documentation for the Java HotSpot VM
  • Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1
  • Frequently Asked Questions About the Java HotSpot VM
  • Java HotSpot VM Options

Other

  • Java Specialists newsletter
    • Articles on performance
    • Determining memory usage in Java
  • Java Performance Tuning web site
  • Java World - Pick up performance with generational garbage collection
  • DZone - How to tame Java GC Pauses

This article from Sun on Tuning Garbage Collection with the 5.0 Java Virtual Machine should have pretty good definitions and explanations of everything you are looking for; I don't believe a ton has changed on this subject between 5.0 and 6.0

There is also this whitepaper on Memory Management in the Java HotSpot Virtual Machine.

More Sun documentation, technical articles, and whitepapers.


A fairly recent one: http://www.ibm.com/developerworks/java/library/j-nativememory-linux/


Also, please see these JavaOne sessions for JVM GC. (including video playback)

  • Garbage Collection Friendly Programming
  • Garbage Collection Tuning in the Java HotSpot virtual machine
  • The Garbage First Garbage Collector <== highly recommended
  • Performance considerations in concurrent garbage-collected systems

UPDATE:

Oracle changed JavaOne contents as paid one. Please see this article for G1 garbage collector instead.


I find that Sun's Memory Management Whitepaper offers a good overview.

The final section offers useful links to delve deeper into areas of particular interest.