daily commit
This commit is contained in:
14
jvm/类加载过程.md
14
jvm/类加载过程.md
@@ -1,8 +1,8 @@
|
||||
# 类加载过程
|
||||
* ## 类加载过程
|
||||
* 加载:次过程中会根据要加载类的全类名获取该类字节吗文件的二进制流,并且将其加载到内存的方法区中。并且,为该要加载的类生成一个Class对象,可以作为方法区类数据的访问入口
|
||||
* 链接:链接过程又分为验证、准备、解析三个阶段
|
||||
* 验证:验证文件格式是否正确,并且加载的字节码数据能否被正确
|
||||
* 准备:正式为类变量(静态变量)分配内存空间并且设置默认初始值
|
||||
* 解析:将常量池中的符号引用替换为直接引用的过程
|
||||
# 类加载过程
|
||||
* ## 类加载过程
|
||||
* 加载:次过程中会根据要加载类的全类名获取该类字节吗文件的二进制流,并且将其加载到内存的方法区中。并且,为该要加载的类生成一个Class对象,可以作为方法区类数据的访问入口
|
||||
* 链接:链接过程又分为验证、准备、解析三个阶段
|
||||
* 验证:验证文件格式是否正确,并且加载的字节码数据能否被正确
|
||||
* 准备:正式为类变量(静态变量)分配内存空间并且设置默认初始值
|
||||
* 解析:将常量池中的符号引用替换为直接引用的过程
|
||||
* 初始化:初始化阶段会调用clinit方法,调用该方法会为类变量进行赋值操作(对于用final修饰的类变量除外,其并不是在clinit阶段被赋予最终值,而是在准备阶段就赋予了最终值
|
||||
Reference in New Issue
Block a user