方法区回收对象

  • 废弃常量
  • 无用的类

类卸载条件

  • 该类所有的实例都已经被回收,JAVA堆中不存在该类的任何实例
  • 加载该类的ClassLoader已经被回收
  • 该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问到该类的方法

说明

在大量使用反射、动态代理、CGLib等ByteCode框架、动态生成JSP以及OSGI这类自定义ClassLoader的场景都需要虚拟机具备类卸载功能,以保证永久代不会溢出

results matching ""

    No results matching ""