JAVA虚拟机(JVM)详细介绍(四)——类文件结构
Class文件概述
这篇我们只讲讲Class文件。Class文件又名类文件或字节码文件。javac将.java文件(源代码)编译成.class文件(字节码),jvm再将.class文件解释成机器码。
Class文件中包含的是Java虚拟机指令集和符号表以及若干其它辅助信息。其是一组以8字节为基础单元的二进制流,没有空隙存在。
其存储数据的结构有两种:无符号数和表。
(1)无符号数是用来描述数字,索引引用,数量值或按照UTF-8编码构成字符串值。属于基本的数据类型,以u1,u2,u4,u8分别代表1个字节,2个字节,4个字节,8个字节
(2)表是由多个无符号数或其它表作为数据项构成的复合数据类型,以“_info”结尾。
其特点是:在Class文件中,哪个字节代表什么含义,长度是多少,先后顺序如何,都不允许改变。
Class文件组成部分
对于Class的组成,在上图中已经罗列的很清楚了。还需再对常量池进行一下强调:当虚拟机运行时,需要从常量池获得对应的符号引用,再在类创建时或运行时解析、翻译到具体的内存地址之中。
以上便是为大家整理的关于JAVA虚拟机中class文件部分,更多相关问题请访问PHP中文网:JAVA视频教程
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341