类装载器
来源:互联网 发布:天猫和淘宝有什么区别 编辑:程序博客网 时间:2024/06/05 16:06
java 虚拟机中的所有类装载器采用具有父子关系的类型结构进行组织,在实例化每个类加载器对象时,
需要为其指定一个父类装载器对象或者默认采用系统类装载器为其父级类加载
BootStrap jre/lib/rt.jar
ExtClassLoader jre/lib/ext/*.jar
AppClassLoader、Systemclassloader Classpath指定的所有jar或目录
当java虚拟机要加载一个类时,到底排除哪个类加载器去加载呢?
1,首先当前线程的类加载器去加载线程中的第一个类
2,如果类A中引用了类B,java虚拟机将使用加载类A的类装载器来加载类B
3,还可以直接调用classLoader.loadclass()方法来指定某个类加载器去加载某个类
每个类加载器加载类时,又先委托给其上级类加载器。
1,当所有祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了,则抛ClassNotFoundException,不是再去找发起者类加载器的儿子,因为没有getChild方法,即使有,那有多个儿子,找哪一个呢?
2,对着类加载器的层次结构图和委托加载原理,解释先前将ClassLoaderTest输出成jre/lib/ext目录下的itcast.jar包中后,运行结果为ExtClassLoader的原因。
需要为其指定一个父类装载器对象或者默认采用系统类装载器为其父级类加载
BootStrap jre/lib/rt.jar
ExtClassLoader jre/lib/ext/*.jar
AppClassLoader、Systemclassloader Classpath指定的所有jar或目录
当java虚拟机要加载一个类时,到底排除哪个类加载器去加载呢?
1,首先当前线程的类加载器去加载线程中的第一个类
2,如果类A中引用了类B,java虚拟机将使用加载类A的类装载器来加载类B
3,还可以直接调用classLoader.loadclass()方法来指定某个类加载器去加载某个类
每个类加载器加载类时,又先委托给其上级类加载器。
1,当所有祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了,则抛ClassNotFoundException,不是再去找发起者类加载器的儿子,因为没有getChild方法,即使有,那有多个儿子,找哪一个呢?
2,对着类加载器的层次结构图和委托加载原理,解释先前将ClassLoaderTest输出成jre/lib/ext目录下的itcast.jar包中后,运行结果为ExtClassLoader的原因。
0 0
- JAVA使用类装载器装载配置文件
- java类装载器
- java类装载器
- 类装载器
- java 类装载器
- java类装载器
- Java 类装载器
- JVM 类装载器
- 类装载器学习
- 类装载器体系结构
- java 类装载器
- 类装载器ClassLoader
- 类装载器学习
- java 类装载器
- ClassLoder类装载器
- 类装载器
- 类装载器学习
- 类装载器
- Beaglebone Black——实践篇beaglebone black启动——从串口获得SPL、U-BOOT,TFTP服务器获得内核,NFS服务器挂载根文件系统
- 记录--成长2014-9
- getSimpleName()
- geraman 学习
- windows_eclipse下搭建PhoneGap环境来开发Android程序
- 类装载器
- Js New一个函数和直接调用的区别
- mysql的使用17
- Qt的许多例子
- 在UBuntu 14.01中配置Boost库(及CodeBlocks)
- 数字证书原理
- matlab 实现多维作图函数(slice)
- docker init 起步
- java.lang.OutOfMemoryError: PermGen space