栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

类加载器(ClassLoader) [Java]

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类加载器(ClassLoader) [Java]

类加载器(ClassLoader)的理解 类加载器的作用:
    类加载的作用

    将Class文件(也就是字节码文件)加载到内存中,并将这些静态数据转换成为方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,这个Class类的实例就作为方法区中数据结构的访问入口

    类缓存:

    标准的javaSE类加载器可以按要求查找类, 但一旦某个类被加载到类加载器中,它将维持加载一段时间(也就是缓存一定的时间)

    JVM垃圾回收机制可以回收这些加载到内存中的运行时类,但是在这个一定时间内是一般不会回收的

总结: 类加载器的作用就是将类加载到内存当中并且缓存一定时间 类加载器的分类:

类加载器共有以下三种: 第一种: —> 引导类加载器 (根类加载器) (Bootstap ClassLoader)

是用C++编写的,是JVM自带的类加载器,负责java平台核心库中的类的加载,用来装载核心类库

引导类加载器无法直接获取,所以也就无法对核心类库之外的类进行加载 第二种: —> 扩展类加载器(Extension ClassLoader)

负责jre/lib/ext目录之下的jar包或者-D: java.ext.dirs指定目录下的jar包中的类的加载(也就是包装入工作库)

扩展类加载器可以获取到jar包就类似于我们的exe文件,jar包中就是以jar结尾的文件,就和我们的exe文件一样,我们可以理解为是安装包,但是jar包中都是我们的java中的类也就是字节码文件压缩的 第三种: —> 系统类加载器(System ClassLoader)

负责java - classPath或者 - D java.class.path所指的目录之下的类与jar包中的数据的加载

系统类加载器是最常用的类加载器,我们的自定义类就是使用系统类加载器来加载的系统类加载器可以获取到 补充: 处理上面的三种类加载器,我们还可以自定义类加载器,但也只能继承于现有的体系

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号