1.java垃圾回收之标记算法
1.1 java对象被判定为垃圾的标准:没有被其他对象引用
判定算法
1.引用计数算法
2.可达性分析算法
2.java垃圾回收之回收算法
2.1 标记-清除算法
2.2 复制算法
2.3 标记-整理算法
2.4 分代收集算法
3.java垃圾回收之新生代垃圾收集器
JVM的两种运行模式
- Server:启动的jvm采用的是重量级的虚拟机,启动较慢,稳定后速度更快
- Client:启动的jvm采用的是轻量级的虚拟机,启动更快,但稳定后速度叫较慢
4.java垃圾回收之老年代垃圾收集器
5.java垃圾回收之常见面试题
GC在回收一个对象之前,如果该对象存在虚引用,会首先将该对象的虚引用加入到与之关联的引用队列当中,程序可通过判断引用队列是否加入了某个对象的虚引用来判断该对象是否被GC回收。
引用队列的意义:
如果有对象即将被回收,相应的reference对象将被放到与之关联的引用队列之中,我们可以在队列中拿到reference对象去做一些事情,如果没有引用队列,我们只能不断轮训reference对象,通过get方法是否返回null来判断所引用的对象是否被回收了。