首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java垃圾回收那点事(2)不同gc策略的heap分配

2013-09-10 
java垃圾回收那点事(二)不同gc策略的heap分配在前面的文章中曾提到了在java虚拟机启动的时候会对G1,CMS, S

java垃圾回收那点事(二)不同gc策略的heap分配

在前面的文章中曾提到了在java虚拟机启动的时候会对G1,CMS, SerialGC定义不同的heap的类,并且定义不同的policy。


CollectorPolicy

CollectorPolicy主要是用于根据虚拟机启动的参数分配heap的大小,和将heap堆分不同的区的大小(比如yong区和Old区),并且对不同的区定义不同的generation的规范。


GenerationSpec

主要是根据不同的类型使用不同的Generation的方式,这个类型是由CollectionPolicy在初始化GenerationSpec所指定的

例如MarkSweepPolicy ,在initialize_generations的方法中初始话GenerationSpec

类型条件generation的方式Generation::DefNew不使用UseParNewGC 或者使用UseParNewGC但设置ParallelGCThreads小于1(用于young区)DefNewGenerationGeneration::ParNew使用UseParNewGC并且ParallelGCThreads线程数大于1(用于young区)ParNewGenerationGeneration::ASParNew使用CMS,并且UseAdaptiveSizePolicy用于young区ASParNewGenerationGeneration::MarkSweepCompact使用UseSerialGC,用于old区TenuredGeneration ()Generation::ConcurrentMarkSweepCMS 的old区 ConcurrentMarkSweepGenerationGeneration::ASConcurrentMarkSweep使用CMS,并且UseAdaptiveSizePolicy,用于old区ASConcurrentMarkSweepGeneration

热点排行