- 对于上面的图解 所有的一切基于上图展开 下面每个部分的截图来自上图
- 前言
- Java 代码编写以及编译
- 类加载器介绍以及双请委派模型
- 类加载全过程
- 类的生命周期
- 类加载器与类加载机制
所谓的类加载全过程,也就是类加载机制,触发类加载机制是在创建对象的时候触发的,创建对象的过程如下面所示:
对象的创建过程一般是从 new 指令(JVM层面)开始:
(1)首先检查 new 指令的参数是否能在常量池中定位到一个类的符号引用;
(2)如果没有,说明该类还没有被加载,使用类加载机制进行类的加载(本文详细介绍的关于类加载机制的相关概念)
(3)如果有,虚拟机将在堆中为新生对象分配内存。分配内存方式有:指针碰撞和空闲列表,具体选择哪种分配方式由 Java 堆是否规整决定,而 Java 堆是否规整又是由所采用的垃圾收集器是否带有压缩整理功能决定。
Java 代码编写以及编译 类加载器介绍以及双请委派模型在 Java 类加载的全过程中,第一步就是加载过程,注意这个加载过程和类加载的全过程是不一样的;
这个加载是基于双请委派机制的类加载器完成的;
在经历了上面的基于双请委派模型的类加载器加载之后(这个阶段选择了适合当前类的一个类加载器),之后类加载全过程继续进行;
类的生命周期一个类从 .class 文件 加载到虚拟机中并且从虚拟机中卸载经历了下面的全部过程;
加载–验证 – 准备 – 解析 – 初始化 – 使用 – 卸载
# 辨析
类加载机制中的第一个操作:加载操作包含了类加载器;
这是两个不同层面的含义;



