JVM之旅——字节码文件详解

要理解这段字节码指令是如何执行的,我们需要先理解两块内存区域:操作数栈和局部变量表。

操作数栈是用来存放临时数据的内容,是一个栈式的结构,先进后出。

局部变量是存放方法中的局部变量,包含方法的参数、方法中定义的局部变量,在编译期就已经可以确定方法有多少个局部变量。

字节码指令文档:第 6 章。Java 虚拟机指令集

字节码文件总共可以分为以下几个部分:

  • 基础信息:魔数、字节码文件对应的Java版本号、访问标识(public final等等)、父类和接口信息

  • 常量池保存了字符串常量、类或接口名、字段名,主要在字节码指令中使用

  • 字段: 当前类或接口声明的字段信息

  • 方法: 当前类或接口声明的方法信息,核心内容为方法的字节码指令

  • 属性: 类的属性,比如源码的文件名、内部类的列表等

打开idea的插件页面,搜索jclasslib,这是一个查看字节码的插件,好用

2024年7月4日18点22分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值