Java进阶——如何查看Java字节码

前言

深入学习Java语言,也免不了要去研究JVM类加载、JVM字节码相关的东西,这时就需要经常查看字节码。

方法
1.使用命令行

命令行有两种方式

  • java -c

    在编译后,进入字节码存放的文件夹,例如:FileAHello.class,使用命令行窗口,执行命令:
    java -c FileAHello.class,即可在窗口浏览字节码文件

  • javap -verbose HellloWorld.class
    javap -verbose Hello.class ,同样可以浏览字节码文件

2.外接工具的方式

上面的描述编译成Hello.class文件(或者找到ide中相关out文件夹中的那些.class文件),然后下载Java Bytecode Editor,解压,直接运行jbe.sh即可看到UI面板,打开Hello.class文件即可看到类似下图的目录,将能看到非常丰富的类信息。

3.使用AndroidStudio 内置插件

在AndroidStudio 面板, AndroidStudio -> Preferences ->

Plugins ->jclasslib Bytecode Viewer -> Browse repositories -> install -restore AndroidStudio,重启AndroidStudio后,在选中要查看的.java文件, View -> Show bytecode with jclasslib,此时在ide的右边就会看到类似下图的界面,非常丰富的类信息

以上就是三种查看字节码的方法

参考:


https://blog.csdn.net/kwame211

)

相关推荐
m0_3807438714 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
天远数科14 小时前
风险治理实战:基于天远车信盟出险构建自动化理赔核保流水线
java·网络·人工智能·自动化
Draw Stars14 小时前
Git BASH安装教程
开发语言·git·bash
vortex515 小时前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听15 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
骇客野人15 小时前
SpringBoot电商系统用户注册、登录、留存及数据埋点设计与落地实施方案
java·spring boot·后端
qiuhaipeng115 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
wxwx_bscxy32216 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
evans在进步17 小时前
Tomcat NIO 工作原理详解:从 Acceptor、Poller 到容器处理链
java·tomcat·nio
渡我白衣18 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集