美文网首页
java中对象生命周期

java中对象生命周期

作者: 陈桐Caliburn | 来源:发表于2020-07-03 09:13 被阅读0次

在Java中,对象的生命周期包含下面几个阶段

1. 创建阶段(Created)
2. 应用阶段(In Use)
3. 不可见阶段(Invisible)
4. 不可达阶段(Unreachable)
5. 收集阶段(Collected)
6. 终结阶段(Finalized)
7. 对象空间重分配阶段(De-allocated)
生命周期

说明

1.创建阶段(Created)
在创建阶段系统通过以下的几个步骤来完毕对象的创建过程

  • l 为对象分配存储空间
  • l 開始构造对象
  • l 从超类到子类对static成员进行初始化
  • l 超类成员变量按顺序初始化,递归调用超类的构造方法
  • l 子类成员变量按顺序初始化,子类构造方法调用

一旦对象被创建,并被分派给某些变量赋值,这个对象的状态就切换到了 应用阶段。

2.应用阶段(In Use)
对象至少被一个强引用持有着。

3.不可见阶段(Invisible)
当一个对象处于不可见阶段时,说明程序本身不再持有该对象的任何强引用,虽然该这些引用仍然是存在着的。
简单说就是程序的执行已经超出了该对象的作 用域了。

3.不可见阶段(Invisible)
不再持有该对象的任何强引用
即程序的执行已经超出了该对象的作用域。

4.不可达阶段(Unreachable)
GCRoots不可达

5.收集阶段(Collected)
当垃圾回收器发现该对象已经处于“不可达阶段”并且垃圾回收器已经对该对象 的内存空间重新分配做好准备时,则对象进入了“收集阶段”。如果该对象已经重写了 finalize()方法,则会去执行该方法的终端操作。

6.终结阶段(Finalized)
当对象执行完 finalize()方法后仍然处于不可达状态时,则该对象进入终结阶段。在该阶段是等待垃圾回收器对该对象空间进行回收。

7.对象空间重分配阶段(De-allocated)
垃圾回收器对该对象的所占用的内存空间进行回收或者再分配了,则该对象彻底消失了

相关文章

  • Java对象的生命周期

    Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段 创建阶段(Created)在创建阶段系统通过...

  • 2018-09-28:HibernateDML操作与缓存

    Hibernate对象声明周期和DML java对象在Hibernate中的生命周期指的是java类和数据库的关联...

  • Android优化-内存优化总结篇

    一、Android内存管理机制 1、Java对象的生命周期 Java对象的生命周期经历7个阶段,分别是创建阶段、应...

  • Servlet生命周期详解

    在 Java 中,任何对象都有生命周期,Servlet 也不例外。Servlet 的生命周期如图所示。 上图描述了...

  • Servlet生命周期

    在 Java 中,任何对象都有生命周期,Servlet也不例外。Servlet 的生命周期如图所示。 上图描述了 ...

  • 2018-03-09 GC垃圾回收机制学习日记一

    看到Java中的GC垃圾回收机制,必定离不开Java JVM中的内存模型及Java对象的生命周期,学习GC机制前我...

  • 强引用、软引用、弱引用与虚引用

    在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为...

  • Java引用

    在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为...

  • 强引用、软引用、弱引用、虚引用

    在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为...

  • java

    在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为...

网友评论

      本文标题:java中对象生命周期

      本文链接:https://www.haomeiwen.com/subject/leujqktx.html