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

java类加载器

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

java类加载器

java类加载器
  类加载器作用:将.class文件加载到内存 生成java.lang.Class对象
* 类加载:
*   类的加载
*       1Class文件读入内存,并创建一个java.long.Class对象
*       2任何类被使用时,系统都会创建一个java.long.Class对象
*       类加载器ClassLoader 负责加载类对象
*           父Bootstrap class loader :虚拟机的内置类加载器,通常为null,并且没有父null  方法:ClassLoader getSystemClassLoader()返回用来委托的系统类加载器  getParent()返回父类加载器进行委托
*           子Platform class loader
*           孙System class loader
*   类的连接
*       验证阶段:检验被加载的类是否有正确的内部结构,并和其他类协调一致
*       准备阶段:负责为类的类变量分配内存,并设置初始化默认值
*       解析阶段:将类的二进制数据中的符号引用替换为直接引用
*   类的初始化
*       主要是对类变量初始化
*       1.类并未加载和连接,程序会先加载并连接该类
*       2.该类直接父类未被初始化,则先初始化直接父类(会对父类执行1-3步骤)
*       3.加入类中有初始化语句,则系统依次执行这些初始化语句
*       时机:
*           创建类实例
*           调用类方法
*           访问类或者接口的类变量,或者为该类赋值
*           使用反射方式来强制创建某个类或接口对应的java.lang.Class对象
*           初始化某个类的之类
*           直接使用java.exe命令来运行某个主类
* JVM的类加载机制:
*   1全盘负责:当一个类加载器负责加载某个Class时,该Class所依赖的和引用的其他Class也将由该类加载器负责载入 除非显示使用另一个类加载器来载入
*   2父类委托:当一个类加载器负责加载某个Class时,先让父类加载器尝试加载该Class,只有在父类加载器无法加载该类才尝试在自己路径加载该类
*   3缓存机制:保证所有加载过的Class都会被缓存,当程序需要使用某个Class对象时,类加载器先在缓存区搜索该Class,只有找不到缓存区Class对象,系统才会读取该类对应二进制数据,并将其转换为Class对象,存储到缓存区
BootStrapClassLoader是ExtentionClassLoader的父类,默认负责%JAVA_HONE%lib文件夹下的jar包和class类。
ExtentionClassLoader是ApplicationClassLoader的父类,默认负责%JAVA_HONE%lib文%etc件夹下的jar包和class类。
ApplicationClassLoader是自定义类加载器的父类,负责加载classpath下的类文件。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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