什么是PLAB?

接上文PLAB---》

可以看到和TLAB很像,PLAB即 Promotion Local Allocation Buffers。用在年轻代对象晋升到老年代时。

  • 在多线程并行执行YGC时,可能有很多对象需要晋升到老年代,此时老年代的指针就"热"起来了,于是搞了个PLAB。

  • 先从老年代 freelist(空闲链表)申请一块空间,然后在这一块空间中就可以通过指针加法(bump thepointer)来分配内存,这样对freelist竞争也少了,分配空间也快了。

大致就是上图这么个思想,每个线程先申请一块作为PLAB,然后在这一块内存里面分配晋升的对象。这和TLAB的思想相似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值