我经常被一个没有源代码的 java 类文件困住,我试图理解我手头的问题。
请注意,反编译器很有用,但在所有情况下都不够...
我有两个问题
- 有什么工具可以查看java字节码(最好从linux命令行下获取)
- 熟悉 java 字节码语法有哪些好的引用资料
最佳答案
与其直接查看 Java 字节码,这需要熟悉 Java 虚拟机及其操作,不如尝试使用 Java 反编译实用程序。反编译器将尝试从指定的 class
文件创建 java
源文件。
How do I “decompile” Java class files?是一个相关的问题,它可以帮助您了解如何反编译 Java class
文件。
也就是说,可以使用 JDK 中的 javap
命令来反汇编 Java class
文件。 javap
的输出将是 class
文件中包含的 Java 字节码。但请注意,字节码与 Java 源代码完全不同。
了解 Java 字节码和 Java 虚拟机本身的确切来源是 The Java Virtual Machine Specification, Second Edition .特别是,Chapter 6: The Java Virtual Machine Instruction Set有所有字节码指令的索引。
关于java - 了解 Java 字节码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1552308/