可达的/可触及的
Java对象呗创建后,如果被一个或者多个变量引用,那就是可达的,即从根节点可以触及到这个对象。
其实就是从根节点扫描,只要这个对象在引用链中,那就是可触及的。
可恢复的
Java对象不再被任何变量引用就进入了可恢复状态。
在回收该对象之前,该对象的finalize()方法进行资源整理,如果在finalize()方法中重新让变量引用该对象,则该对象再次变为可达状态,否则该对象进入不可达状态。
不可达的:
Java对象不被任何变量引用,且系统在调用对象的finalize()方法后依然没有使该对象编程可达(该对象依然没有被变量引用),那么该对象将编程不可达状态。
当Java对象处于不可达状态时,喜用才会真正回收该对象占有的资源。