JVM

 

 

JVM的内存结构: 

 

 

 

 

 

 

 垃圾回收

什么对象可以回收

 


 

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

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

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

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

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

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

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

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

垃圾回收的算法


标记整理算法:

 

标记清除算法

复制算法:

 

回收机制的总结

回收器

串行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

加载

 

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

posted on 2021-05-30 18:17  居一雪  阅读(39)  评论(0编辑  收藏  举报

导航