阅读class文件的三种姿势(干货)

首页 » 编程之家 » Java » 正文

阅读class文件的三种姿势(干货)


对于熟悉Java程序语言的人来说,JVM(Java Virtual Machine)是实现语言无关性的基石,被JVM所识别的.class文件是实现平台无关性的基石。这一点的具体信息可参考

https://www.datapro.cool/2364.html

.class文件中包含了被虚拟机所识别的字节码指令,看懂字节码指令是迈向高级架构师的一小步(不积跬步无以至千里)。本文将介绍几种如何查看class文件字节码指令的方法。

.class文件中存的是被JVM识别的16进制数,这些16进制数与字节码指令的关系如下(附Java虚拟机规范官方文档)

 

阅读class文件的三种姿势(干货)

.class中的每一个16进制数都在Java虚拟机规范中能找到对应的字节码指令信息。

附Java虚拟机规范官方文档:https://docs.oracle.com/javase/specs/


Notepad++(HEX-Editor插件)法

 

首先官网下载Notepad++: https://notepad-plus.en.softonic.com/

【添加notepad++到鼠标右键快捷菜单方法】

直接打开class文件是这样的(乱码)

 

阅读class文件的三种姿势(干货)

 

依次点击 PluginsPlugins Admin…

 

阅读class文件的三种姿势(干货)

 

搜索 HEX-Editor, 勾选并安装插件

 

阅读class文件的三种姿势(干货)

 

插件安装完毕后,界面顶部右侧会出现 H 标志,表明安装成功,此时点击H 即可以16进制的方式转换.class文件

 

阅读class文件的三种姿势(干货)


IDE(idea、eclipse)插件法(墙裂推荐)

 

对于集成在开发环境中的插件来说更容易的阅读字节码,并且扩展内容更丰富

 

IntelliJ IDEA (jclasslib)

 

首先安装插件jclasslib

 

阅读class文件的三种姿势(干货)

 

安装完毕后,任意打开一个.java文件,然后依次点击 ViewShow Bytecode With Jclasslib

 

阅读class文件的三种姿势(干货)

 

找到如下位置,即可看到当前java文件的字节码指令(如同javap反编译一样)

 

阅读class文件的三种姿势(干货)


Eclipse( JBC)

 

打开eclipse  依次点击HelpEclipse Marketplace…, 出现如下弹框,搜索JBC

 

阅读class文件的三种姿势(干货)

 

安装完成后重启Eclipse,找到任以java文件,右击以 Open JBC方式打开

 

阅读class文件的三种姿势(干货)

 

打开后即可看到对应java文件的字节码指令信息

 

阅读class文件的三种姿势(干货)


Binary Viewer

 

这是一款查看二进制的软件工具,对于自身是16进制的也会识别,并且文件的信息量比Notepad++打开的class文件信息量更丰富

官网下载地址:https://binary-viewer.en.softonic.com/

 

阅读class文件的三种姿势(干货)


以上就是三种常见查看字节码指令的方法,平时最常用的是结合IED一起使用的方法

 

更多精彩内容请关注公众号 数据与编程之美

 

阅读class文件的三种姿势(干货)

作者:bear, 转载或复制请以 超链接形式 并注明出处 数据与编程之美
原文地址:《阅读class文件的三种姿势(干货)》 发布于2020-12-28

分享到:
赞(3) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

一碗牛肉面
鼓励站长分享更多学习经验、教程、学习资源。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册