使用阶段,实例化对象和调用方法等,Class对象在JVM中一直有效,直到JVM退出。6. 卸载阶段,不会主动卸载Class对象。但是如果一个类的所有实例都被回收,对应的Class对象有可能被卸载。...通常使用引用计数或者可达性分析等算法来判断对象是否可访问。如果一个对象可以从GC Roots节点可达,那么它就是可访问的。4. 常见的GC算法有标记清除、标记压缩、分代收集等。...(或者GC对象的判定方法)在Java中,对象是否存活主要通过可达性分析来判断。可达性分析的基本思想是:如果一个对象可以被GC Roots直接或间接引用到,则该对象是存活的。...搜索完成后,剩下的对象就是不可达对象,可以被回收。4. 垃圾收集器采用不同算法对内存进行回收,常见算法有:- 标记清除:标记出不可达对象,统一回收。会产生大量内存碎片。...搜索完成后,剩下的对象就是不可达对象,可以被回收。4. 垃圾收集器采用不同算法对内存进行回收,常见算法有:标记清除、标记压缩、分代回收等。垃圾回收器不能马上回收内存,主要有以下原因:1.