【java虚拟机】垃圾收集器
参考:https://www.cnblogs.com/qianguyihao/p/4748313.html
一、那些对象可以做GCRoot
==>虚拟机栈(栈帧中的本地变量表)中引用的对象。
==>方法区中静态属性引用的对象
==>方法区中常量引用的对象
==>本地方法栈中JNI(一般说的是native方法)引用的对象。
虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在Eden出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor区,并将对象年龄设为 1。对象在Survivor区中每熬过一次Minor GC,年龄就增加1,当它的年龄增加到一定程度(默认为15)时,就会被晋升到老年代中。对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold 来设置。