常量池

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

访问标志

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

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

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

字段表集合

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

方法表集合

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

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

属性表集合

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

字节码指令简介

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

小结

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

最新文章

  1. 【poj3270】 Cow Sorting
  2. 火车头wordpress免费万能发布模块和接口
  3. servlet、filter、listener、interceptor之间的区别和联系
  4. 如何修复AppScan漏洞
  5. python3使用csv模块读写csv文件
  6. sql server 2008数据复制方法
  7. Gitolite 构建 Git 服务器
  8. asp.net mvc中匿名类dynamic
  9. 编写WCF服务时右击配置文件无“Edit WCF Configuration”(编辑 WCF 配置)远程的解决办法
  10. FD.io VPP 技术Neutron VNF vRouter 实现
  11. iOS 之 深复制、浅复制
  12. 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
  13. opencron
  14. BeautifulSoup总结
  15. 将jar包安装到本地repository中
  16. 自己动手写waf指纹识别
  17. 在 Linux 上搭建IntelliJ IDEA license server服务器
  18. Python3中urllib使用介绍
  19. xxx.app已损坏,打不开.你应该将它移到废纸篓-已解决
  20. Oracle 11g 异机恢复参考文档

热门文章

  1. Set a Many-to-Many Relationship设置多对多关系 (EF)
  2. SpringCloud(五):断路器(Hystrix)和hystrixdashboard图实现链路追踪
  3. Jackson version is too old 2.xx
  4. JAVA 高级特性枚举和泛型
  5. ssh免密登录配置后,登陆失败问题
  6. Linux命令(自己工作常用)
  7. acwing 2 零一背包问题
  8. DRF--认证和权限
  9. Python GUI教程一:Hello World
  10. php date获取前一天的时间