可达状态:对象被创建后如果有一个以上的引用变量引用它,则这个对象在程序中处于可达状态,程序可以通过引用变量访问它。
可恢复状态:当某个对象不再有任何引用变量引用它时它就进入了可恢复状态,这种状态下垃圾回收机制准备回收该对象,在回收该对象之前会调用该对象的finalize()方法进行资源清理,如果finalize()方法让该对象重新被引用变量引用,则对象会再次变为可达状态。
不可达状态:当系统调用过对象的finalize()方法后对象没有变为可达状态,那么这个对象将会变成不可达状态,这时系统才会回收该对象占用的资源。