黑马程序员技术交流社区
标题:
类加载
[打印本页]
作者:
无奈的我+.l
时间:
2014-4-3 20:57
标题:
类加载
jvm可安多个类加载器,系统默认三个,每个指定的类负责加载不同的类 。
BootStrap(JRE/lib/rt.jar).
ExtClassLoder(JRE/lib/ext/*.jar).
AppClassLoader(Classpath指定的目录或者jar)
三个类加载器加载的这三种类(JRE/lib/rt.jar、 JRE/lib/ext/*.jar 、Classpath指定的目录或者jar)有什么不同啊?
就是这三种类(JRE/lib/rt.jar、 JRE/lib/ext/*.jar 、Classpath指定的目录或者jar)都是干什么的呀?
作者:
董振冬
时间:
2014-4-3 23:27
说明了他们是干什么的就能知道他们的不同点了:
bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。
extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包。
system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性或者 CLASSPATH操作系统属性所指定的JAR类包和类路径。
AppClassLoader主要加载ClassPath下的字节码,类加载器的委托加载原理,首先加载类一直交给父类加载器加载,一直提交到bootstrap,当父类加载器加载不到时,在一层层的返回给下一级加载器加载
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2