gpt4 book ai didi

java - JDK 7 类文件向后兼容 JDK 6

转载 作者:IT老高 更新时间:2023-10-28 21:13:13 26 4
gpt4 key购买 nike

JDK 7 的哪些特性(不包括 invokedynamic,因为它不被 java 使用)导致新的类文件版本与 JDK 6 不兼容。似乎所有特性都可以通过编译器生成胶水代码来实现。例如 switch 语句中的字符串可以使用编译器生成的重复 ifeq 语句来实现。我希望能够为编译器提供 -source 1.7 -target 1.6 标志以符合 jre 6 并同时使用 jdk 7 中的项目硬币功能。

最佳答案

我没看过编译器的代码,但是一些新特性显然对字节码有影响。

“Simplified varargs method invocation”实际上只是一种警告抑制,但它必须在字节码中留下一些标记,以便客户端代码可以不同地显示警告。

“Try-with-resources”生成的代码可以处理正常异常以及在 finally block 中引发的第二个异常。额外的异常使用新的 addSuppressed() 存储。方法。这并不完全是类文件格式的更改,但它显然不适用于早期的 VM。

“Multi-catch”还生成与以前的任何编译器生成的字节码略有不同。异常表中的多个条目现在将指向同一个 catch 主体。

关于java - JDK 7 类文件向后兼容 JDK 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com