加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

什么Java编译器使用jsr指令,什么?

发布时间:2020-12-14 23:59:59 所属栏目:Java 来源:网络整理
导读:Java字节码语言具有JSR指令. 我用Java 7编译器编译的代码都没有使用这个指令. 但是,有时我下载的Java二进制文件尽管很少使用它. 我有兴趣知道编译器使用该指令,以及什么Java代码构造会导致它们使用它. 编辑这不是重复的,因为它是指JSR字节码指令而不是Java规
Java字节码语言具有JSR指令.

我用Java 7编译器编译的代码都没有使用这个指令.

但是,有时我下载的Java二进制文件尽管很少使用它.

我有兴趣知道编译器使用该指令,以及什么Java代码构造会导致它们使用它.

编辑这不是重复的,因为它是指JSR字节码指令而不是Java规范请求

解决方法

JSR指令实际上甚至不允许在Java 7类文件中.只允许在版本49.0或更早的类文件中对应于Java 5或更早版本.在实践中,它早已不再使用了.

JSR / RET机制最初用于实现finally块.然而,他们认为代码大小的节省不值得额外的复杂性,逐渐被淘汰.

我不知道确切的版本,因为我找不到任何旧的编译器,但是基于我在网上找到的讨论,似乎转型发生在Java 1.2-1.3时代,不同的编译器在不同的时间切换.我从来没有看到过这些旧的编译器中的一个合法的类文件,但是你永远都不知道什么时候可能发生.

在实践中,我在野外看到的JSR的唯一用法是混淆.例如,Zelix Klassmaster曾经将其用于字符串解密代码.我也在几个我自己的Java破解中使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读