JVM

JVM的内存结构: 

 

 垃圾回收

什么对象可以回收


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

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

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

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

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

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

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

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

垃圾回收的算法


标记整理算法:

 

标记清除算法

复制算法:

 

回收机制的总结

回收器

串行

 

加载

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

原文地址:https://www.cnblogs.com/gjx1212/p/14824398.html