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

)

相关推荐
nice_lcj5201 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
紧跟先前的步伐2 小时前
Go AI Agent 实战 28|Agent 的预算、超时与停止条件
开发语言·人工智能·后端·ai·golang
秋天的怀念_David2 小时前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
灿飞2 小时前
Kotlin与Java虚拟机八:控制流与 when:卫语句、上下文相关解析与穷尽性
java·kotlin
文丑颜不良啊2 小时前
LeetCode2021~2040题目解析
java·leetcode
bksczm3 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
春涧草茶3 小时前
慢就是快16-1协程
开发语言·前端·python
liangbo73 小时前
Spring系列03:Bean 的三种注册方式
java·spring
余槐i3 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
SL_staff3 小时前
制造业订单交付总在最后一刻爆雷?用结构化计划模板打通跨系统协同断点
java·开源·全栈