什么是类加载器?类加载器有哪些

什么是类加载器

Java文件的编译和执行

要想理解什么是类加载器首先要了解一个java文件是如何运行起来的

类加载器:用于装载字节码文件 (.class 文件 )
运行时数据区:用于分配存储空间
执行引擎:执行字节码文件或本地方法
垃圾回收器:用于对 JVM 中的垃圾内容进行回收

类加载器

JVM 只会运行二进制文件,而类加载器( ClassLoader )的主要作用就是将 字节码 文件加载到JVM ,从而让 Java 程序能够启动起来。现有的类加载器基本上都是 java.lang.ClassLoader的子类该类的只要职责就是用于将指定的类找到或生成对 应的字节码文件,同时类加载器还会负责加载程序所需要的资源

类加载器的类型

启动类加载器 (BootStrap ClassLoader)
该类并不继承 ClassLoader 类,其是由 C++ 编写实现。用于加载 JAVA_HOME/jre/lib 目录下的类库。
扩展类加载器 (ExtClassLoader)
该类是 ClassLoader 的子类,主要加载 JAVA_HOME/jre/lib/ext 目录中的类
库。
应用类加载器 (AppClassLoader)
该类是 ClassLoader 的子类,主要用于加载 classPath 下的类,也就是加载开发 者自己编写的Java 类。
自定义类加载器:
开发者自定义类继承 ClassLoader ,实现自定义类加载规则。

双亲委派模型

如果一个类加载器在接到加载类的请求时,它首先不会自己尝试去加载这个类, 而是把这个请求任务委托给父类加载器去完成,依次递归,如果父类加载器可以 完成类加载任务,就返回成功;只有父类加载器无法完成此加载任务时,才由下 一级去加载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值