首页 >Java >java教程 >详解JAVA开发之classLoader类加载机制

详解JAVA开发之classLoader类加载机制

无忌哥哥
无忌哥哥原创
2018-07-18 11:25:151865浏览

jvm有三种类加载器,一种用户自定义加载器,从上到下分别是:

bootstrap classLoader 该类加载器在java虚拟机启动时将jdk核心类库加载进内存

extension classLoader 扩展类加载器,该类加载器是加载jre的一些jar的类库

system classLoader 系统类加载器,该类加载器是加载classpath下面的指定类库到内存

custom classLoader 用户自定义类加载器,该类加载器由程序员自己负责在程序运行期间,通过java.lang.classLoader的子类来动态加载class文件

加载机制:

java类加载机制叫双亲委托机制:就是当有请求向加载器请求类时,首先会自底向上查询该类是否被加载到内存,如果被加载则直接返回该类,如果没有,那么先委托父类加载器加载该类,如果当前加载器还有父类,那再向上一级委托,直到顶层,只有当父类无法加载该类时,才会返回下一级直到自己加载,如果自己也无法加载,则返回类找不到异常(ClassNotFoundException)。例如:当要求用用户自定义加载器加载java.lang.String类时,实际上用的是bootstrap classLoader加载的,因为java.lang.String是jdk的核心库类,在用户自定义加载时,会先委托父类加载器。

以上是详解JAVA开发之classLoader类加载机制的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn