类加载子系统,属于虚拟机的一个组成部分,其主要职责是负责类的加载;其实就是将class文件加载进虚拟机内存供虚拟机使用。
加载过程包含以下几个阶段:
- 加载loading:通过一个类的全限定名获取这个类的二进制字节流,将存储的静态结构转换为方法区中的运行时数据结构。
- 链接linking:该阶段又包含了三个小阶段。
(1) 验证,验证class中字节流是否符合虚拟机规范。(2)准备,为类变量分配内存,并且赋初始值。(3)将常量池中的符号引用转换为直接引用。 - 初始化Initialization:类中的静态变量赋值,静态代码执行的过程。链接中的准备阶段只是赋默认值。
网友评论