parallell内存分配和垃圾回收

内存分配时,会尝试先去线程的私有区域(tlb)分,不够再去堆上分
内存分配
垃圾回收器 parallell源码
首先,大对象体积超过一定阈值时会直接进入老年代吗?
这个对于parNew是适用的,通过
参数配置阈值。但parallel就一样的,它是从
yong_gen直接分配
年轻代:eden form to
老年代:

parallel的内存分配
//第一次从年轻代分配,分配成功返回Result,分配失败进行第二次
//第二次从年轻代分配,分配成功返回Result,分配失败尝试从老年代分配
//第二次从老年代分配,分配成功返回Result
//if(result == null) Vmthread:excute 垃圾回收内存了
//Paralllel:invoke() 先尝试yong gc

垃圾回收
jvm的vmthread主要职责是什么,和gc及Safepoint的关系是什么
vmthread的loop()
1 | loop(){ |
begin:该标志位,通知其他线程暂停下来,而且得等所有线程都听下来,才能继续执行begin方法剩余的逻
辑

内存不够了不一定会触发fullgc,而是会先根据你新生代回收是否成功以及老年代的大小来决定的

新生代的垃圾回收逻辑



yong gc不会stw?
只要执行 Vm:excute 就会stw