【从零开始学习JVM | 第二篇】字节码文件的组成

本文详细介绍了JAVA字节码文件的组成,包括如何打开、各部分结构(如魔数、常量池、字段、方法和属性)以及如何通过IDEA插件阅读字节码。通过实例解读,揭示了字节码在程序执行中的作用和底层运行原理。

前言:

        字节码作为JAVA跨平台的主要原因,熟练的掌握JAVA字节码文件的组成可以帮助我们解决项目的各种问题,并且在面试中,关于字节码部分的内容却是一大考点和难点,因此我们在这里穿插讲解一下字节码文件的组成。

目录

前言:

1.如何打开字节码文件? 

2.字节码文件的组成:

3.简单阅读字节码

总结:


 

1.如何打开字节码文件? 

字节码文件中保存了原代码编译后的内容,以二进制的形式进行存储。因此我们是无法用记事本这种普通的阅读软件打开的。

因此我们要使用专业的字节码阅读工具进行。好在IDEA中就有对应的插件,我们只需要点击下载就可以。

jclasslib Bytecode Viewer

 然后通过这个插件,我们就可以便捷的查看一个字节码文件:

我们来逐一解释一下这些部分:

1.基础信息:魔数,字节码文件对应的JAVA版本号,访问标识符 ,父类和接口。

2.常量信息:保存了字符串常量,类或接口名,字段名。主要在字节码指令中使用。

3.字段:当前类或接口声明的字段信息。

4.方法:当前类或接口声明的方法信息字节码指令。

5.属性 :类的属性,比如源码的文件名,内部类的列表等。 

通过这款插件,我们就可以看到上图的字节码:

2.字节码文件

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一盘牛肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值