• 1 什么是TLAB 新对象都是在Eden区分配空间 这块空间是在多线程间共享的 那么考虑一下 多线程是可能同时创建新对象的 这时候必然需要一种同步机制 使用队列 或者通过互斥 这些方式确实都可以 不过 我们还有一种更好的方式 TLAB 它全
  • 创建对象必然要在虚拟机中分配内存 虚拟机提供了两种策略 指针碰撞和空闲列表 指针碰撞法 很容易理解 在内存中 一遍是已经被分配的空间 一遍的未分配的空间 如果新建了8字节对象 那么指针就往未分配空间移动8字节 所以使用这种方式的关键是保证分
  • 逃逸分析 xff1a 对象创建在栈中 xff0c 不一定都是在堆中 xff0c 适用于无并发 xff0c jvm默认开启 TLAB xff1a 多线程并发中堆空间也有线程私有空间 xff08 除了栈外 xff09 xff0c 堆中的一小块内