原创申明:本文由公众号【猿灯塔】原创,转载请说明出处标注
“365篇原创计划”第十五篇。
今天呢!灯塔君跟大家讲:
JVM源码分析之堆内存的初始化
堆初始化
Java堆的初始化入口位于Universe::initialize_heap
方法中,实现如下:
其中UseParallelGC、UseG1GC、UseConcMarkSweepGC都可以通过启动参数进行设置,整个初始化过程分成三步:
1、初始化GC策略;
2、初始化分代生成器;
3、初始化Java堆管理器;
GC策略初始化
HotSpot的GC策略实现如下:
其中MarkSweepPolicy
是基于标记-清除思想的GC策略,如果虚拟机启动参数没有指定GC算法,则使用默认使用UseSerialGC</