TLAB(Thread Local Allocation Buffer)线程本地分配缓冲区(线程私有分配区,私有分配,公共查看),占用 Eden 区(缺省 Eden 的1%),默认开启,JVM 会为每个线程分配一块 TLAB 区域,避免堆对象共享形成的多线程线程同步。多线程
优化多线程堆空间分配对象指针碰撞问题优化
一个 100KB 的 TLAB 区域,若是已经使用了 80KB,当须要分配 30KB 的对象时,虚拟机有 2 种选择:1. 废弃当前 TLAB 2.将 30KB 对象分配到堆上,保留当前 TLAB 给小于 20KB 的对象分配线程
-XX: +UseTLAB (默认开启)指针