类的生命周期
- 类的生命周期:加载-》链接-》初始化
类加载器的分类
- Java虚拟机自带的:启动类加载器、扩展类加载器、 系统类加载器
- 用户定义的:都是ClassLoader的子类实例
虚拟机内置的类加载器
根类加载器Bootstrap
public class Main {
public static void main(String[] args) {
ClassLoader classLoader = Object.class.getClassLoader();
System.out.println(classLoader); // null 因为Object类是由Bootstrap ClassLoader加载的,所以返回null
}
}
扩展类加载器Extension
// Extension ClassLoader 加载的类
ClassLoader classLoader1 = Main.class.getClassLoader().getParent();
System.out.println(classLoader1); // sun.misc.Launcher$ExtClassLoader@1b6d3586
ClassLoader classLoader2 = DNSNameService.class.getClassLoader();
System.out.println(classLoader2); // sun.misc.Launcher$ExtClassLoader@1b6d3586