ClassLoader的委托模型
来源:互联网 发布:ubuntu 刻录光盘 编辑:程序博客网 时间:2024/05/16 17:37
来源:http://www.blogdriver.com/eis/332162.html
1:BootStrapClassLoader :加载java运行过程中的核心类库JRE/lib/rt.jar, sunrsasign.jar, charsets.jar, jce.jar, jsse.jar, plugin.jar 以及存放在JRE/classes里的类
2:ExtClassLoader :加载JRE/lib/ext 或者目录下的库文件目录下的类(包括任何子目录,有别于其他两个ClassLoader)
2:ExtClassLoader :加载JRE/lib/ext 或者目录下的库文件目录下的类(包括任何子目录,有别于其他两个ClassLoader)
3:AppClassLoader :加载CLASSPATH变量指定路径下的类
A、其中AppClassLoader的parent(并非父类)为ExtClassLoader, ExtClassLoader的parent为BootStrapClassLoader,根据ClassLoader的委托模型,当要加载一个class时候会先让其parent来加载,如果parent找不到的话,再由自己来加载。
B、加载的第一个类的ClassLoader如果为BootStrapClassLoader的话,那么其他的所有类也必须又BootStrapClassLoader来加载,如果加载第一个类的ClassLoader为AppClassLoader的话,则类的加载按规则A来执行。
BootStrapClassLoader的默认Load路径可以通过 System.getProperty("sun.boot.class.path");来取得
ExtClassLoader的默认Load路径可以通过 System.getProperty("java.ext.dirs");来取得
AppClassLoader的默认Load路径可以通过 System.getProperty("java.class.path");来取得
其中ExtClassLoader,AppClassLoader的load可以通过命令:java -Djava.ext.dirs xxx xxx,java -Djava.class.path xxx xxx来改变
而BootStrapClassLoader的路径是用C++写死在JVM里面的,即使通过java -Dsun.boot.class.path xxx xxx来改变路径也不起任何作用。
- ClassLoader的委托模型
- 理解ClassLoader双亲委托模型关键
- JVM类加载-从ClassLoader源码看双亲委托模型
- classloader加载的双亲委托模式
- JVM学习-ClassLoader的父类委托机制
- 深入理解ClassLoader之类的父委托加载机制
- 深入理解ClassLoader—类的父委托加载机制
- android classloader双亲委托模式
- ClassLoader以及双亲委托模式
- java双亲委托模式classLoader
- 经典的扣薪水 事件委托模型
- C#事件和委托的基础知识模型
- C#事件和委托的基础知识模型
- Qt的模型/视图/委托知识点
- java ClassLoader类解析-双亲委托机制
- Java ClassLoader及双亲委托模式
- java ClassLoader类解析-双亲委托机制
- ClassLoader与Tomcat的ClassLoader
- 终于见到了7YUE了!
- POPUP
- 安装jbuilder后eclipse不能正常启动.
- Java中文详解(转)
- Linux上安装GCC编译器过程
- ClassLoader的委托模型
- java.util.logging.Filter翻译
- 如何用正确的方法来写出质量好的软件的75条体会 [转]
- 如何实现自定义的ClassLoader
- 了解ClassLoader(节选)
- 关于Java的Classloader的讨论收获
- 北京今日起最低工资和养老金标准全部上调
- Java ClassLoader 实现程序的扩展性
- 类 java.lang.ClassLoader