java 类加载机制
来源:互联网 发布:java编程框架 编辑:程序博客网 时间:2024/06/06 09:07
1.java虚拟机中可以有多个类加载器。
2.系统默认有三个类加载器,每个类加载器负责特定的位置的类加载任务,分别是:
BootStrap-->JRE/lib/rt.jar
ExtClassLoader-->JRE/lib/ext/*.jar
AppClassLoader-->CLASSPATH指定的所有的jar或者目录
3.类加载器也是java类,显然肯定有一个类加载器,不是java类,这个类加载器正是:BootStrap(运行在虚拟机内核中,是用C++编写的)
System.out.println("System类的类加载器是:"+System.class.getClassLoader());输出的结果为:
因为System的加载器是BootStrap是由c++写的,所以打印出来的是NULL
4.java虚拟机中,所有的类加载器都采用的父子关系的树形结构进行组织的,在实例化类加载器的时候,需要为其制定父类加载器或采用系统默认的类加载器作为父加载器。
5.类加载器,进行类加载的时候,会遵守委托机制:每个类加载器加载时,会先委托给父加载器,当父加载器未加载成功的时候,子加载器才会加载呢。当所有的祖宗加载器都没有加载到该类的时候,回到发起者类加载器,如果还是加载不成功,则会抛出异常:ClassNotFoundException.
6.自定义自己的类加载器的时候,需要继承ClassLoader这个类,然后重载findClass方法,在这里要关注这三个方法:loadClass()、findClass()、defineClass();
loadClass()这个方法进行加载的时候,会默认使用委托机制。
findClass方法会直接使用发起的类加载器进行加载。
defineClass 将类的字节数组转化成某个类
0 0
- Java类加载机制
- java 类加载机制
- Java类加载机制
- Java 类加载机制
- [Java] 类加载机制
- Java类加载机制
- java类加载机制
- Java加载类机制
- Java类加载机制
- Java类加载机制
- Java类加载机制
- Java类加载机制
- Java 类加载机制
- java 类加载机制
- Java类加载机制
- Java类加载机制
- Java类加载机制
- java类加载机制
- 初级音乐播放器——播放存储卡上的一首音乐,能够显示歌曲名和播放进度,并且能够播放和暂停(没有SD卡会报错)
- jenkins集成html report 不显示
- SPRD Android 6.0 安装美图美颜相机录像时,提示没有mic权限的问题。
- iOS 8 WkWebView 网页的配置和前进,后退,js 交互和进度条的加载
- Android:onNewIntent()触发机制及注意事项
- java 类加载机制
- 在windows下编译mongodb cxx driver
- linux操作系统安装Nginx
- JS学习之全局函数与window对象
- java文件上传
- daima
- 【艾米莉娅】Sicily:1001. Alphacode 代码分享
- AngularJS动画(二)
- Dialog 获取焦点的监听