jvm垃圾的回收作用范围
下面描述的收集器是基于 JDK1.7 Update 14 之后的 HotSpot 虚拟机,这个虚拟机包含的所有收集器如下图:如果两个收集器之间存在连线,就说明他们可以搭配使用。
下面描述的收集器是基于 JDK1.7 Update 14 之后的 HotSpot 虚拟机,这个虚拟机包含的所有收集器如下图:如果两个收集器之间存在连线,就说明他们可以搭配使用。
Full GC : 针对的是整个堆。包括:新生代、老年代、永久代。
针对HotSpot VM 的实现,他里面的GC其实准确分类只有两大类:
部分收集器(Partial GC):
整堆收集(Full GC):收集整个Java堆和方法区。
JVM 是可运行 Java 代码的假想计算,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和一个存储方法域。 JVM 是运行在操作系统之上的,它与硬件没有直接的交互。
给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0的对象就是不可能再被使用的
难以解决对象间的循环引用。除了对象 objA和objB相互引用这对方外,这两个对象之间再无任何引用。但是他们因为相互引用对方,导致他们的应用计数器都不为0,于是引用计数算法无法通知GC回收器回收他们。