gpt4 book ai didi

java - 哪些 Java 编译器使用 jsr 指令,有什么用?

转载 作者:太空狗 更新时间:2023-10-29 22:54:01 26 4
gpt4 key购买 nike

Java字节码语言有JSR指令。

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

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

我很想知道哪些编译器使用该指令,以及哪些 Java 代码构造会导致它们使用它。

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

最佳答案

JSR 指令实际上什至不允许出现在 Java 7 类文件中。它只允许在 49.0 或更早版本的类文件中使用,对应于 Java 5 或更早版本。实际上,它在此之前很久就不再使用了。

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

我不知道确切的版本,因为我找不到任何旧的编译器,但根据我在网上找到的讨论,似乎过渡发生在 Java 1.2-1.3 时代,不同的编译器在不同的时间切换次。我从未见过来自这些旧编译器之一的合法类文件,但你永远不知道它何时会发生。

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

关于java - 哪些 Java 编译器使用 jsr 指令,有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21150154/

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