Java 8 字节码与 Java 7 JVM 的兼容性
Java 8 引入了大量令人兴奋的语言功能,包括 lambda 表达式。然而,这就提出了一个问题:Java 8 代码能否与 Java 7 虚拟机和谐共存?
答案:不能
不幸的是,尝试编译 Java 8针对 Java 7 虚拟机的源代码将会遇到阻力。编译器将断然拒绝,如以下失败的编译尝试所示:
$ javac Test -source 1.8 -target 1.7 javac: source release 1.8 requires target release 1.8
这种不兼容性源于 Java 8 在其编译的字节码结构中引入了重大变化。这些更改与 Java 7 解释器不兼容,需要 Java 8 代码在支持其增强字节码格式的虚拟机上运行。
因此,如果您想深入研究 Java 8 功能的奇迹,您的代码的旅程必须在兼容的 Java 8 虚拟机上开始。
以上是Java 8 代码可以在 Java 7 虚拟机上运行吗?的详细内容。更多信息请关注PHP中文网其他相关文章!