标记-清除:
标记-压缩
复制算法:
Hotspot分代复制算法
bump-the-pointer和TLABs:
1.bump-the-pointer:指针碰撞机制会跟踪在eden区创建的最后一个对象,并记录其位置;之后再创建对象,按顺序检查eden空间是否足够,这样每次创建都只需要检查最后一个创建对象。但多线程条件下,就会出现问题,如果加锁,开销太大,因此有了TLABs
2.TLABs(Thread-Loacl Allocation Buffers):TLAB可以理解为Java的缓冲区,JVM为每个线程在eden区分配的一块内存;每个TLAB都只有一个线程可以操作,TLAB结合bump-the-pointer技术可以实现快速的对象分配,而不需要任何的锁进行同步,也就是说,在对象分配的时候不用锁住整个堆,而只需要在自己的缓冲区分配即可。