- 类加载器介绍:
1.1 类加载器(class loader)用来加载Java类到Java虚拟机中。
1.2 java虚拟机使用java类的方式有:
- java源程序(.java文件)经过Java编译器编译后被转换成Java字节码文件(.class文件)
- 类加载器负责读取Java class类字节代码,并转换成java.lang.Class类的一个实例。基本上所有的类加载器都是java.lang.ClassLoader类的一个实例。
- 类加载器的分类及作用

2.1 应用类加载器
由java实现,Application ClassLoader是AppClassLoader的实现类,父类是ExtClassLoader,主要负责加载classpath目录上的类库,如果没有自定义ClassLoader,他就是程序默认的ClassLoader,即可以通过ClassLoader.getSyatemClassLoader()获取当前系统类加载器。
2.2 扩展类加载器(Extension ClassLoader)
ExtClassLoader的实现类,主要负责加载java/lib/ext目录和系统环境变量java.ext.dirs指定目录所有类库。
2.3 启动类加载器(Bootstrap ClassLoader)
完全由JVM控制,外面访问不到这个类加载器,不能被java程序引用。
主要负责加载JVM自身的工作累,即java/lib目录和-X:bootclasspath参数指定的目录和类库。
网友评论