• JVM


    JVM的内存结构: 

     

     垃圾回收

    什么对象可以回收


    注意:1,途中实线表示强引用,有GC Root指出的强引用的对象不能被回收,

       2,当一个对象只有软引用指向时,并且当垃圾回收机制回收一次后发现内存任然不够,再回收该对象,

         3,当一个对象只有弱引用指向时,当垃圾回收机制回收时,会直接回收掉,

       4,配合引用队列,当软,弱对象指向的对象被回收时,会进入引用的队列中。再一词释放。

       5,虚引用,终结器引用与上面两种引用不同,它必须与引用队列关联使用,上面两种引用不一定要关联引用队列使用。

          6, 虚引用的典型用法:虚引用指向的对象被回收后,虚引用对象自身会进入被一个线程监控的引用队列中,调用方法释放直接内存 的空间。

    注意:(软,弱引用本身就是一个对象)

        强引用的对象一定不会被回收。

    垃圾回收的算法


    标记整理算法:

     

    标记清除算法

    复制算法:

     

    回收机制的总结

    回收器

    串行

     

    加载

    类加载器的双亲委托模型的源码:

  • 相关阅读:
    property可以声明得位置
    实例变量可以声明得位置
    void *与id类型的相互转换
    对象指针
    __weak修饰符
    __strong修饰符
    Objective-C中的自动释放池
    习题6-8 统计一行文本的单词个数 (15分)
    练习4-3 求给定精度的简单交错序列部分和 (15分)
    习题3-5 三角形判断 (15分)
  • 原文地址:https://www.cnblogs.com/gjx1212/p/14824398.html
Copyright © 2020-2023  润新知