题目
第1题
判断对象是否可以被回收
引用计数法
枚举根节点做可达性分析(根搜索路径)
第2题
JVM 参数类型
标配参数
X参数(了解)
XX参数
- Boolean类型(+是开启,-是未开启)
public class HelloGC {
public static void main(String[] args) {
System.out.println("Hello GC");
try {
Thread.sleep(Integer.MAX_VALUE);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
jinfo -flag PrintGCDetails 14352,查看某个属性是否被激活
- KV设置类型
盘点家底查看JVM默认值
有冒号的就是人为修改过的,没有冒号就是之前默认的
-XX:+PrintFlagsInitial(java -XX:+PrintFlagsInitial -version)
-XX:+PrintFlagsFinal(java -XX:+PrintFlagsFinal -version)
边查看,顺便修改metaspace的值,T是class的类名
-XX:+PrintCommandLineFlags(java -XX:+PrintCommandLineFlags -version)
第3题
常用参数
打印GC收集细节
修改配置,然后故意new大对象,触发报错:java.lang.OutOfMemoryError: Java heap space/mark>
触发GC
普通GC
full GC
第4题
强引用
软引用
弱引用
HashMap和WeakHashMap
虚引用