1、GC Roots的意思就是一组必须活跃的引用,就是以GC Root为起点,然后往下搜索,如果对象到GC ROOT没有任何引用链,就说明对象不可用。可到达为存活,不可到达判定为死亡;
2、标准参数(version,help,java -showversion)
x参数(Xint:解释执行,xcomp:第一次执行编码成本地本地,Xmixed:混合模式)
3、XX参数(Xms(初始化的堆内存(64分之一)),Xmx(最大堆内存(四分之一)),Xss(单线程的内存大小(512-1024),window默认为0),Xmm(设置年轻代大小))
3.1、布尔类型(-XX:+PrintGCDetails)
3.2、设置值(-XX:metaspaceSize=128m)
3.3、查询初始化JVM的参数:(java -XX:_PrintFlagsInitial)
3.4、查看修改过后的参数(java -XX:+PrintFlagsFinal)
3.5、设置元空间大小(java -XX:metaspaceSize)
3.6、PrintGCDetails(打印GC详情)
3.7、SurvivorRatio(新生代(Eden与s0,s1de1分配)默认是8:1:1)
3.8、NewRatio(新生代和老年代的分配(1:2))
3.9、MaxTenuringThreshold(设置垃圾最大年龄,默认十五)
4、引用(强引用(Reference),软引用(SoftReference),弱引用(WeakReference),虚引用(PhantomReference)(必须要与ReferenceQueue引用队列))
4.1、强引用:指一直指向某个对象,垃圾收集器不会回收
4.2、软引用:够就不回收,不够就回收
4.3、弱引用:WeakHashMap(用到这个可以坚持到立马呗回收了),一定会被回收
4.4、虚引用:就是跟没有引用一样,任何时候都有可能被垃圾回收;必须与队列联合使用;(主要是做跟踪对象被垃圾回收的状态)



