Java类加载过程中,是否涉及了字节码验证、准备、解析、初始化等多个复杂环节?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1604个文字,预计阅读时间需要7分钟。
以下是对原内容的简化
以下哪些不属于Java类加载过程?A. 生成java.lang.Class对象B. int类型对象成员变量赋予默认值C. 执行static块代码D. 类方法解析E. 类从被加载到虚拟机内存中,到卸载出内存为止
以下哪项不属于java类加载过程?
A.生成java.lang.Class对象
B.int类型对象成员变量赋予默认值
C.执行static块代码
D.类方法解析
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。如图所示。
加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。以下陈述的内容都已HotSpot为基准。
本文共计1604个文字,预计阅读时间需要7分钟。
以下是对原内容的简化
以下哪些不属于Java类加载过程?A. 生成java.lang.Class对象B. int类型对象成员变量赋予默认值C. 执行static块代码D. 类方法解析E. 类从被加载到虚拟机内存中,到卸载出内存为止
以下哪项不属于java类加载过程?
A.生成java.lang.Class对象
B.int类型对象成员变量赋予默认值
C.执行static块代码
D.类方法解析
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。如图所示。
加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。以下陈述的内容都已HotSpot为基准。

