方法区的垃圾回收主要是两部分:运行时常量池中废弃的常量 和不在使用的类。
类卸载(将不在使用的类回收)的条件:
该类的所有实例均被回收。
加载该类的类加载器被回收(一般很难满足)。
类对象不再引用,通过反射也获取不到。