您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 2浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

深入理解Java虚拟机——Class类文件的结构

小志的博客 发布时间:2022-02-21 22:33:59 ,浏览量:2

目录
    • 一、Class类文件的结构
      • 2.1、Class类文件结构的概述
      • 2.2、无符号数
      • 2.3、表
    • 二、Class类文件格式

一、Class类文件的结构 2.1、Class类文件结构的概述
  • Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。
  • 当遇到需要占用8为字节以上空间的数据项时,则会按照高位在前的方式分隔成若干个8位字节进行存储。
  • Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表。
2.2、无符号数
  • 无符号数属于基本的数据类型,以U1、U2、U4、U8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数。
  • 无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成字符串值。
2.3、表
  • 表是由多个无符号数或者其他表作为数据项构成的复合数据类型,所有表都习惯性地以“_info”结尾。
  • 表用于描述有层次关系的复合结构的数据,整个Class文件本质上就是一张表。
二、Class类文件格式 类型名称数量u4magie1u2minor_version1u2major_version1u2constant_pool_count1cp_infoconstant_poolconstant_pool_count-1u2access_flags1u2this_class1u2super_class1u2interfaces_count1u2interfacesinterfaces_countu2fields_count1field_infofieldsfields_countu2methods_count1method_infomethodsmethods_countu2attributes_count1attributes_infoattributesattributes_count
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0520s