黑马程序员-----类加载器
来源:互联网 发布:c 高级编程第7版 pdf 编辑:程序博客网 时间:2024/04/30 03:05
------- android培训、java培训、期待与您交流! ----------
类加载器
简要介绍什么是类加载器和类加载器的作用
java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类加载器负责加载特定位置的类
BootStrap -----> JRE/lib/rt.jar
|
ExtClassLoader------> JRE/lib/ext/*.jar
|
AppClassLoader------> classpath指定的所有jar或目录类加载器也是java类,因为其他是java类的类加载器本身也要被类加载器加载
显然必须有第一个类加载器不是java类,这正是BootStrap(嵌套在java虚拟机内的,用c++语言编写的类加载器)java虚拟机中的所有类加载器采用具有父子关系的树形结构进行组织
在实例化每个类加载器对象时,需要为其指定一个父级类加载器对象
或者默认采用系统类加载器为其父级类加载器
类加载器的委托机制
当java虚拟机要加载一个类时,到底派出哪个类加载器去加载呢?
首先当前线程的类加载器去加载线程中的第一个类
如果类A中引用了类B,java虚拟机将使用加载类A的加载器去加载类B
还可以直接调用 类加载器对象.loadClass()方法来指定某个类加载器去加载某个类每个类加载器加载类时,又先委托给其上机类加载器
当所以祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了
则抛出ClassNotFoundException,不是再去找发起者类加载器的儿子
因为没有getChild方法,即使有,那么多儿子,也不懂找哪一个
面试题,能不能自己写个类叫java.lang.System
答: 可以,但没有意义
因为类加载采用委托机制,这样可以保证爸爸们优先
也就是总是使用爸爸们能找到的类,这样总是使用java系统提供的System,而不会用到我们自己写的
- 黑马程序员-类加载器
- 黑马程序员-类加载器
- 黑马程序员-类加载器
- 黑马程序员-类加载器
- 黑马程序员:类加载器
- 黑马程序员--类加载器
- 黑马程序员---类加载器
- 黑马程序员-----类加载器
- 黑马程序员-----类加载器
- 黑马程序员-类加载器
- 黑马程序员-类加载器
- 黑马程序员------类加载器
- 黑马程序员-类加载器
- 黑马程序员--类加载器
- 黑马程序员---类加载器
- 黑马程序员---类加载器
- 黑马程序员-类加载器
- 黑马程序员--类加载器
- jsp&servlet和JDBC的综合使用
- dom4j创建和解析Xml例子
- 王爽 检测点3.2
- 2012网赛金华赛区
- 如何更换RatingBar的图片
- 黑马程序员-----类加载器
- 呵呵,数据库操作我转了——数据库操作指令
- 开源的DirectUI界面开发库DUILIB试用demo (Win32程序)
- (转)超实用的8个Linux命令行性能监测工具
- 设计模式分类
- 判断页面是否被包含在iframe中
- 组合设计会更灵活,速度更快。
- 注册测绘师答题技巧
- C/C++文件操作之fstream