高强度学习训练第十一天总结: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
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://www.cnblogs.com/godoforange/p/11588061.html
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章