JVM的TLAB是什么?它有什么作用?怎么开启TLAB?怎么调整TLAB?

我们在开发java程序的时候,离不开的JVM调优。这一块也是我们面试求职的重点!

我简单的从三个方面介绍TLAB!!

TLAB出现的契机是什么?

我们知道堆区是我们所有线程共享的区域,这就会造成在分配对象实例时,需要通过加锁的机制,来解决数据的安全性。进而影响内存空间分配速度。

而TLAB可以提升对象实例在堆区的分配速度。

什么是TLAB?

TLAB是JVM为每个线程分配的一块私有的缓存区域,来提升内存分配的吞吐量。线程在分配对象时,JVM会将TLAB作为内存分配的首选!

TLAB是包含在年轻代的Eden空间内,仅占整个Eden区的1%。

TLAB在JVM中的参数怎么使用?

# 设置是否开启TLAB空间
-XX:UseTLAB

# 设置TLAB空间占用Eden空间的百分比大小
-XX:TLABWasteTargetPercent

最后你需要知道的是:谈到TLAB,你需要抛开栈上分配。当对象需要在内存分配时,一旦对象在TLAB空间分配内存失败,JVM就会尝试着通过使用加锁机制确保数据操作的原子性,从而直接在Eden空间中分配内存。

对象分配过程:

对象在TLAB分配详细流程图:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bilibili_架构师九哥

欢迎您的观看,留点什么吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值