美文网首页
Java对象的生命周期

Java对象的生命周期

作者: Real_man | 来源:发表于2019-02-18 23:01 被阅读16次

    如果拿Java中的对象和现实中的对象做对比的话,可以发现他们有很多相似的地方。Java对象也有状态和行为,状态存储在属性中,行为通过方法表现。现实中的对象有生命周期,Java的对象也有生命周期

    • Created(创建)
    • In use(使用中)
    • Invisible(不可见)
    • Unreachable(不可达)
    • Collected(被收集)
    • Finalized(完成,终结了)
    • De-allocated(被释放)
    image.png

    Created

    新的内存空间被分配到一个对象上可以理解为Created,一旦对象被创建,假设它被分配到某些变量上,那么它的状态就变化到使用中(InUse)

    In Use

    对象被强引用可以被看作"In use"

    Invisible

    当对象不再有任何的强引用时,但是可能还有一些其他的引用

    Unreachable

    没有任何的强引用,等待被收集之前的状态

    Collected

    当垃圾收集器识别到这个对象是不可达的,准备好去处理这个对象的时候

    Finalized

    在调用finalize方法之后,当前对象准备释放内存空间之前。

    De-allocated

    垃圾收集器的最后一步,对象从内存空间中释放,彻底不存在。

    image.png

    相关文章

      网友评论

          本文标题:Java对象的生命周期

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