jvm学习--类加载器

1 什么是类加载机制?

    java程序的从源代码到执行的过程包括编译运行两个阶段。编译阶段由编译器执行,将源代码(.java)文件编译成字节码文件(class文件);运行阶段由JVM执行,将字节码文件加载到内存中,变为虚拟机可以直接使用的数据结构,该过程即为类加载机制。

2 类加载过程包括哪些阶段?生命周期如何?

类加载过程包括如下7个阶段:
1)加载:从字节码二进制变为Class对象;
2)验证:校验字节码格式是否合法;
3)准备:为类变量static修饰变量赋初始零值,分配内存;
4)解析:将常量池中的符号引用替换为直接引用;
5)初始化:执行类构造器,包括:给类变量赋默认值,执行类中的静态代码块;
6)使用:在程序方法中使用类;
7)卸载:对方法区(元空间)中的Class对象进行GC回收,清除不必要的Class对象;
    其中验证、准备、解析3个阶段被合称为连接阶段,即将Class对象与内存关联映射的过程。为了保证类加载的灵活性,java虚拟机规范仅要求加载、验证、准备、初始化、卸载的顺序固定,对于解析在什么阶段进行并没有给出详细约束,解析阶段也可以发生在初始化之后,用于支持运行时绑定(晚绑定、动态绑定)。

 

>>>阅读全文

猜你喜欢

转载自blog.csdn.net/sweetfire/article/details/81098038