【发布时间】:2016-08-29 01:36:29
【问题描述】:
JVM 规范的某些部分建议操作JSR (Jump SubRoutine)、JSR_W (Jump SubRoutine Wide) 和RET (RETurn from subroutine) 只能在类文件版本 50.0 (JDK 1.6) 之前使用:
(本节假设编译器生成版本号为 50.0 或以下的类文件,因此可以使用 jsr 指令。另见§4.10.2.5。)
后来:
4.10.2.5. Exceptions and
finally为了实现
try-finally构造,Java 编程语言的编译器生成版本号为 50.0 或更低版本的class文件可以使用异常处理工具和两条特殊指令: jsr(“跳转到子程序”)和ret(“从子程序返回”)。
另一方面,操作码描述本身并没有说明这些功能的弃用。引用的文字只说明了 50.0 之前的版本,但没有明确说明之后的情况。
This comment(询问有关弃用或删除背后动机的问题)表示类似程度的混乱,所以显然我不是唯一一个在寻找这个的人。
【问题讨论】:
标签: java jvm opcode finally jvm-bytecode