欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

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

程序员文章站 2022-04-21 20:54:13
...
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类加载机制的详细内容,更多请关注其它相关文章!