对象在内存中的状态

对象在内存中的状态

 当一个对象在堆内存中运行时,根据它被引用变量所引用的状态,可以所它所处的状态分成三种

 激活状态:当一个对象被创建后,有一个或一个以上的引用变量引用它,则这个对象在程序中处于激活状态,程序

 可以通过引用变量来调用该对象的方法和属性。

 去活状态:如果程序中某个对象不再有任何引用变量引用它,它就进入了去活状态,在这个状态下,系统的垃圾回收机制准备

 回收该对象所占用的内存空间,在回收该对象之前,系统会调用所有对象的finalize方法进行资源的清理,如果系统在调用finalize

 方法重新让一个引用变量引用该对象,则这个对象会再次变为激活状态,否则该 对象状进入死亡状态。

 死亡状态:当对象与所有引用变量的关联都被切继,且系统已经调用所有对象的finalize方法依然没有该对象变成激活状态,那这个对象将永久性地失去引用,

 最后变成死亡状态,只有当一个对象处于死亡状态时统才会真正回收该对象所占有的资源。

原文地址:https://www.cnblogs.com/java20130726/p/3218395.html