Java garbage collection

Posted by yangyuan on May 19, 2017

自动垃圾回收

自动垃圾回收是确定Java堆中的对象哪些还在使用,并删除已不再使用的对象的过程。 使用中(被引用)的对象,意味着你的程序中仍保存着指向这个对象的指针;不再使用(未被引用) 的对象,则不被你程序所引用。不再使用对象的内存地址需要回收,以便分配给新的对象。

标记

检测内存中不再使用的块,并将其标记。

清除

删除不再使用的对象,保留仍在使用的对象。

整理

为提高性能,在删除未使用的对象后,将存活的对象向内存一端移动。避免过多的内存碎片, 使得新对象的内存分配能够更容易更快。