说到JVM,总是绕不开垃圾回收,因为其是JVM的核心之一,因为对象的创建是非常频繁的,想要提高程序的执行效率,拥有一个高效的垃圾回收机制是必不可少的. 首先要明确,因为对象的创建只在堆中,所以垃圾回收主要发生在堆中,但是垃圾回收并不只是回收对象,也会回收一些废弃的常量和类对象.所以垃圾回收作用的位置是在堆和方法区上的. 垃圾的定位和执行 定位 当一个对象没有被引用时就可以被回收,但是问题是如何判断一个对象没有被引用呢?目前确定一个对象是否被引用有两种方法. 1.引用计数法.为对象创建一个计数器,…