【JVM】字节码文件结构
转自腾讯云社区-随风溜达的向日葵《JVM与字节码——2进制流字节码解析 原》
侵删
{
  magicNumber: 0xcafebabe,//魔数
  minorVersion: 0x00, //副版本号
  majorVersion: 0x02, //主版本号
  constantPool:{ //常量池集合
    length:1,//常量个数
    info:[{id:"#1“,type:"UTF8",params:"I"}]//常量具体信息
  },
  accessFlag:2,//类访问标志
  className:constantPool.info[1].id,//类名称,引用常量池数据
  superClassName:constantPool.info[2].id,//父类名称,引用常量池数据
  interfaces:{length:1,[id:constantPool.info[3].id],//接口集合
  fields:{ //字段集合
    length:1,//字段个数
    info:[{
      accessFlag:'PUBLIC', //访问标志
      name:constantPool.info[4].id //名称,引用常量池数据
      description:constantPool.info[5].id //描述,引用常量池数据
      attributes:{length:0,info:[]} //属性集合
    }]
  },
  methods:{ //方法集合
    length:2, //方法个数
    info:[{
      accessFlag:'PUBLIC', //访问标志
      name:constantPool.info[4].id //名称,引用常量池数据
      description:constantPool.info[5].id //描述,引用常量池数据
      attributes:{ //属性集合
        length:1, //属性集合长度
        info:[{
          name:constantPool.info[6].id,//属性名称索引,引用常量池数据
          byteLength:6,
          info:'', //属性内容,每一种属性结构都不同。
        }]} 
    }]
  },
  attributes:{length:0,info:[]} //类的属性
}
                
    |你知道的越多,不知道的越多。 |如果本文章内容有问题,请直接评论或者私信我。如果觉得写的还不错的话,点个赞也是对我的支持哦。 |未经允许,不得转载!|微信搜【程序员徐小白】,关注即可第一时间阅读最新文章。回复【面试题】有我准备的50道高频校招面试题,以及各种学习资料。

                
            
        
浙公网安备 33010602011771号