垃圾收集

Sun HotSpot JVM内存管理及垃圾收集

£可爱£侵袭症+ 提交于 2019-12-05 11:21:16
转自:http://blog.csdn.net/watchnight/archive/2009/12/11/4987065.aspx 内存模型(内存池) 从上图可以看出,一个java进程主要分为“Java Heap”和“C Heap”两个部分。只有“Java Heap”是JVM的GC对象。 从J2SE 5.0开始,JVM启动时会默认选择按“ server VM ”启动还是按“ client VM ”,具体选择策略参照下面的连接。 Server-Class Machine Detection 启动方式选择好以后,开始选择GC方法,根据GC方法的不同,为每块内存池设置不同的默认值。关于GC方法的选择,参照下面的连接。 Garbage Collector Ergonomics 另外,JVM一共提供了4中GC方法,根据业务的不同,可以选择不同的GC方法。GC方法详细介绍,参见下面的连接。 Memory Management Whitepaper [pdf] 根据GC算法的不同,GC的名字,以及内存池的名字都不一样。 J2SDK 5提供了一些MXBean,通过这些MXBean可以取得具体的名字。 如:java.lang.management.GarbageCollectorMXBean和java.lang.management.MemoryMXBean (1)-XX: