1. java类加载使用卸载的生命阶段:
加载-验证-准备-解析-初始化-使用-卸载
2. 类加载的时机:
(1).创建实例时;
(2).调用类的静态方法;
(3).访问类或接口的静态变量或为静态变量赋值;
(4).初始化类的子类;
(5).直接用java.exe命令运行某个类;
3. 由jvm自带的类加载器所加载的类,在jvm的生命周期内,不会被卸载;
hotspot jvm自带的类加载器:根类加载器,扩展类加载器,系统类加载器;
JVM始终引用这些类加载器,而这些类加载器会始终引用他们所加载的类的class对象,因此这些class对象始终是可触及的,不会被卸载; 由用户自定义的类加载器加载的类是可卸载的;