有关 Java 基础知识的书籍讲述了一些编译器行为。例如在书中 - OCA Oracle Certified Associate Java SE 8 Programmer I Study Guide,
- 第 1 章 Java 构建块 > 创建对象 > 构造函数:对于大多数类,你不必编写构造函数——编译器会为你提供一个什么都不做的默认构造函数。
- 第 2 章运算符和语句 > 理解 Java 语句 > for 语句 > for-each语句 > 真实场景 - 比较for和for-each循环:Java 在编译期间实际上将 for-each 循环转换为标准 for 循环
- ...
所有的书都只是告诉了这一点,但他们从来没有用一些特殊的工具来实际证明这一点。所以我想知道是否可以通过一些工具或仅以编程方式查看这种编译器行为,以便我们可以从书中深入解释?
我试过了javap
,它只列出了带有组装说明的public
实例成员。我还尝试了在线反编译工具http://www.javadecompilers.com/,它完全反编译了原始源代码,而不是那些书中所说的中间代码。