读了Java 8从lambdas中产生的字节码types后 ,我想起Java 5发布的时候了。 那时候有Retroweaver和其他工具来转换用JDK 5编译的字节码以在JRE 1.4上运行。 有没有人为Java 8 lambdas创build了这样的backporting工具? Java开发人员现在就可以开始使用lambdas生产品质的Java 7 JRE,而不必等待Java 8 GA版本的6-12个月。 这里是我的分析,为什么像backporter应该可以相对容易地实现: Java 8 lambdas似乎没有使用Java 7不具备的任何JVM特性(例如invokedynamic ), java.lang.invoke.LambdaMetafactory类及其依赖关系看起来像纯Java,所以应该可以实现它们在第三方库中。 因此,使用JDK 8编译的字节码可以通过添加第三方库和LambdaMetafactory副本(位于不同的包中)并通过转换字节码来使用该元数据库来运行JRE 7。 也许还会生成一些合成类和方法来绕过可访问性检查,就像java.lang.invoke.MagicLambdaImpl似乎暗示的那样。 或者为所有lambda生成匿名内部类,就像第一个启用了lambda的Early Access JDK所做的那样。
我正在和一位朋友一起工作,我想回到我们的代码的旧版本,并将其设置为当前的。 我该怎么做? 我在vs08上使用“anksvn”。 我有我想要在我的电脑上的版本,但提交失败; 我得到的消息是“提交失败,文件或目录已过期”。 我的电脑上也有颠覆客户端。