高强度学习训练第十一天总结:Class文件结构(二)

2019-09-30 06:58:59来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

高强度学习训练第十一天总结:Class文件结构(二)

常量池

可以理解为Class文件之中的资源仓库,他是Class文件结构中与其他项目关联最多的数据类型,也是占用Class文件空间最大的数据项目之一

访问标志

在常量池结束后,紧接着的俩个字节代表访问标志(access_flags),这个标志用于识别一些类或者接口层次的访问信息。包括:这个Class是类还是接口是否定义为public类型,是否定义为abstract类型等等。

类索引、父类索引与接口索引集合

类索引和父类索引都是一个u2类型的数据,而接口索引集合是一组u2类型的数据集合,Class文件中由着三项数据来确定这个类的继承关系。

字段表集合

字段表用于描述接口或者类中生命的变量。字段包括累级变量,以及实例变量,但不包括在方法内部声明的局域变量。

方法表集合

放发表的结构如同字段表一样,依次包括了访问标志、名称索引、描述符索引、属性表集合迹象。

方法里的Java代码,经过编译器编译成字节码指令后,存放在方法属性表集合中的一个名为“Code”的属性里面,属性表作为Class文件格式中最具扩展性的一种数据项目。

属性表集合

在Class文件、字段表、方法表内都可以携带自己的属性表集合。

字节码指令简介

Java虚拟机的指令有一个字节长度的,代表着某种特定操作含义的数字(称作操作码)以及跟随其后的0至多个代表此操作所需的参数而构成。

小结

Class文件时Java虚拟机执行引擎的数据入口,也是Java技术体系的基础构成之一。


原文链接:https://www.cnblogs.com/godoforange/p/11588061.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Netty源码分析 (十二)----- 心跳服务之 IdleStateHandler 源码

下一篇:测试一下 是否能发布成功