一尘不染

了解Java字节码

java

我经常卡在没有源的Java类文件中,并且试图理解我手头的问题。

请注意,反编译器是有用的,但在所有情况下都不足够…

我有两个问题

  1. 有哪些工具可用来查看Java字节码(最好从linux命令行中获得)
  2. 什么是熟悉Java字节码语法的良好参考

阅读 202

收藏
2020-12-03

共1个答案

一尘不染

与其直接查看Java字节码(需要熟悉Java虚拟机及其操作),不如尝试使用Java反编译实用程序。反编译器将尝试java从指定class文件创建源文件。

怎么做我“编译” Java类文件?是一个相关的问题,它将有助于找出如何反编译Java class文件。

也就是说,可以使用javapJDK中的命令来反汇编Java
class文件。的输出javap将是class文件中包含的Java字节码。但是请注意,字节码根本不类似于Java源代码。

学习Java字节码和Java虚拟机本身的确切资源是
Java虚拟机规范,第二版》
。特别是,第6章:Java虚拟机指令集具有所有字节码指令的索引。

2020-12-03