目录线程
对象至少被一个强引用持有而且对象在做用域内code
程序自己再也不持有该对象的任何强引用,可是这些引用可能还存在着;
通常具体是指程序的执行已经超过该对象的做用域了对象
该对象再也不被任何强引用所持有;
可能仍被JVM等系统下的某些已经装载的惊天变灵或者线程或JNI所持有,这些特殊的强引用被称为GC root,这种状况容易致使内存泄露,没法被回收递归
对象不可达,而且GC已经准备好对该对象占用的内存空间从新分配的时候,处于手机阶段。
若是重写了finazlie()
方法,则会去执行该方法。内存
尽可能不要重写finazlie()方法,由于有可能影响JVM的对象分配与回收速度或者可能形成该对象的再次复活作用域
当对象执行完finalize()
方法以后,仍然处于不可达状态时,则该对象进入终结阶段。在这个阶段,内存空间等待GC进行回收it
GC对该对象占有的内存空间进行回收或者再分配,该对象完全消失class