对象的创建与内存分配
空闲列表
JVM 并发
1 CAS:实际上虚拟机采用CAS配合上失败重试的方式保证更新操作的原子性,原理和上面讲的一样。
2 TLAB:如果使用CAS其实对性能还是会有影响的,所以JVM又提出了一种
更高级的优化策略:每个线程在Java堆中预先分配一小块内存,
称为本地线程分配缓冲区(TLAB),线程内部需要分配内存时直接在TLAB上
分配就行,避免了线程冲突。只有当缓冲区的内存用光需要重新分配内存的
时候才会进行CAS操作分配更大的内存空间。Last updated
Was this helpful?