方法区中无用的类和废弃的常量可以进行回收。
比如对于一个字符串常量,如果没有任何String类型的对象引用该字符串常量,那么GC就回将这个字符串常量清理出常量池。
但是对于一个类,需要满足一下3个条件才会被视作是一个无用的类:
- 该类的所有实例都已经被回收
- 加载该类的ClassLoader已经被回收
- 该类对象的Class对象没有在任何地方被引用,即无法在任何地方通过反射访问该类的方法
方法区中无用的类和废弃的常量可以进行回收。
比如对于一个字符串常量,如果没有任何String类型的对象引用该字符串常量,那么GC就回将这个字符串常量清理出常量池。
但是对于一个类,需要满足一下3个条件才会被视作是一个无用的类:
本文标题:java类卸载
本文链接:https://www.haomeiwen.com/subject/ufrksctx.html
网友评论