java - 将 Java 7 编译为 Java 6

标签 java java-7 porting java-6

我知道 Java 7 的运行时特性不适用于 Java 6,但由于 没有添加新的字节码,新的字节码 invokedynamic 只与非 Java 语言相关,我想知道将 Java 7 源代码(新 switch 语句,菱形运算符)转换为纯 Java 6(即能够开始转换Java 7 的源代码,而不会失去 Java 6 的兼容性)。

任何指针?

最佳答案

据我所知,目前还没有解决这个问题的办法。最好的办法是延长 retrotranslator处理 Java 1.7 结构。菱形运算符应该非常简单,因为它根本不需要修改字节码。

您的陈述“没有添加新的字节码”是不正确的:有一个新的 invokedynamic 字节码,更重要的是,有几种情况生成的字节码对 1.6 JRE 无效,因此逆向翻译器必须修复那个。

关于java - 将 Java 7 编译为 Java 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661980/

相关文章:

java - 如何在运行时更改 while 循环表达式

java - 关闭缓冲读取器会导致在线判断错误。

java - 请推荐一个好的Java Web开发框架

java - @JsonProperty 名称带空格

java - 应用程序从 java 6 迁移到 java 7

Java - 如何从时间戳集合中删除重复项?

java - 如何从 Windows 命令提示符修改 Java 控制面板选择(对应于 deployment.properties 文件)?

c++ - 我需要什么硬件/软件才能将我的 C++/wxWidgets 应用程序移植到 MAC?

ios - CGPointFromString,但对于 OS X

linux - 将 GCC 移植到新架构