Java 类加载器 详解
文章目录
- 1. 什么是类加载器?
- 3. 类加载器的执行过程
- 2. 类加载器的分类
- 3. 双亲委派机制
- 4. boostrap classLoader 启动类加载器 打印显示null
- 5. 小注意事项
1. 什么是类加载器?
类加载器就是加载.class文件的,将其加载出对应的对象来。
类加载器先解析.class文件,之后生成对象存到内存当中。
之后,就是将生成的对象存储到堆中等等的jvm操作。
3. 类加载器的执行过程
加载:加载文件。
连接:(包含三个阶段)
验证:验证代码逻辑。
准备:为类变量分配内存,设置默认值;
解析:解析阶段是虚拟机将常量池内的符号引用替换为直接引用的过程。
初始化:在初始化阶段,Java程序代码才真正的开始执行,并且这个时候赋予的才是自己需求的值。
- 对于代码程序而言:new对象,反射newInstance创建对象,class.forName生成class对象,访问子类对应的父类加载,使用类的静态方法等。
更详细的图:
2. 类加载器的分类
bootstrap classLoader启动类加载器: 对应安装jre里面的rt.jar包中的类
extention classLoader 扩展类加载器: 从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK的安装目录的jre/lib/ext子目录(扩展目录)下加载类库
。
App classLoader 应用类加载器:就是平时写代码,一般都经过应用类加载器。
3. 双亲委派机制
双亲委派机制:双亲委派机制是指当一个类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加载器
。
4. boostrap classLoader 启动类加载器 打印显示null
boostrap classLoader打印的时候只是显示null,因此一定注意如果一个类的父类加载器是null,那就是boostrap classLoader启动类加载器。
5. 小注意事项
Java 类加载器 详解相关推荐
- Java类加载器详解
Java虚拟机中的类加载有三大步骤:,链接,初始化.其中加载是指查找字节流(也就是由Java编译器生成的class文件)并据此创建类的过程,这中间我们需要借助类加载器来查找字节流. Java虚拟机默认 ...
- Java类加载器详解 1
1 特点 双亲委派: 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启 ...
- Java类加载机制详解【java面试题】
Java类加载机制详解[java面试题] (1)问题分析: Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数 ...
- 异常将上下文初始化事件发送到类的侦听器实例._Java CLassLoader类加载器详解,一点课堂(多岸学院)...
Java CLassLoader 类加载器(class loader)是 Java™中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java ...
- Java class类文件和类加载器详解以及代码优化
JVM就是Java虚拟机,它是Java程序运行的载体. 计算机只识别0和1.Java是⾼级语⾔.⾼级语⾔编写的程序要想被计算机执⾏,需要变成⼆进制形式的本地机器码.能直接变成机器码的语义是C++,它的 ...
- Java高新技术第一篇:类加载器详解
首先来了解一下字节码和class文件的区别: 我们知道,新建一个java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的 ...
- ccs加载out文件_类加载流程、类加载机制及自定义类加载器详解
原文:juejin.im/post/5cffa528e51d4556da53d091 一.引言 当程序使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载.链接.初始化三个步骤对该类进行类加载 ...
- Java 类加载机制详解
一.类加载器 类加载器(ClassLoader),顾名思义,即加载类的东西.在我们使用一个类之前,JVM需要先将该类的字节码文件(.class文件)从磁盘.网络或其他来源加载到内存中,并对字节码进行解 ...
- 类加载器源码、双亲委派、自定义类加载器详解
文章目录 jdk的类加载器 双亲委派 自定义类加载器 打破双亲委派 jdk的类加载器 查看一个类的类加载器: ClassLoader classLoader = boy.class.getClassL ...
- Java基础学习总结(115)——Java 类加载机制详解
一.类加载器 类加载器(ClassLoader),顾名思义,即加载类的东西.在我们使用一个类之前,JVM需要先将该类的字节码文件(.class文件)从磁盘.网络或其他来源加载到内存中,并对字节码进行解 ...
最新文章
- 五大自动化测试的 Python 框架
- 慕课网Flask高级编程实战-10.鱼书业务处理
- 计算机网络管理考试价格,2021年计算机网络管理员考试模拟试题库和答案...doc...
- 混合开发之phonegap开发相关知识解析
- python找出只出现一次的数字_Python数组中只出现一次的数字
- mysql进阶3_MySQL进阶
- 海上瓶子下有东西吗_幼儿园小班健康教案《瓶子》含反思
- Python案例:输出指定要求的回文日期
- 俞敏洪吹的牛破了?首场直播带货后 新东方股价大跌
- 关于SQL Server对于表的一些查询
- 2019 年一千多万条数据遭泄露!
- 一道数学题引发的思考
- Redis学习篇2_Redis入门基础
- Paper 已经过时——计算机时代科学传播方式的变革
- Python简单换脸程序
- fg-bg Assignment Imbalance problem
- 软件测试-按开发阶段划分
- 五分钟认清三款主流 Java Virtual Machine丨HotSpot、JRockit、J9
- 怎么恢复计算机隐藏的桌面图标,怎么把桌面图标隐藏 win10桌面怎么找回我的文档图标?...
- Linux基础——防火墙(一)