gpt4 book ai didi

java - 反编译后的一些语法问题

转载 作者:行者123 更新时间:2023-12-01 15:43:08 29 4
gpt4 key购买 nike

我最近不得不反编译一个项目的.class 文件。反编译器工作得很好,除了现在在代码中我有这些奇怪的小片段:

break MISSING_BLOCK_LABEL_666;
Exception exception;
exception;

不过,我注意到其中的一种模式,它似乎出现在代码中“catch”语句的右大括号之后。然而,我并没有出现在每一个 catch 语句之后......但这是值得怀疑的事情。

如果有人在反编译后遇到此类问题,或者只是知道为什么会发生这种情况,我将非常感谢您的帮助!

如果您需要更多信息,请随时询问...

最佳答案

我不知道这个具体情况,但是Java编译器做了很多改进和优化。因此,如果您反编译这些类,您将看到此优化而不是原始代码。编译器解决了“语法糖”(特殊的代码形式,使您的生活更轻松),我认为您的问题是这样的。例如:您在代码中使用的每个公共(public)静态最终都将解析为反编译代码中的值(如 Integer.MAX_INT),或带有迭代器的 for 循环(for foo f: foos)将在其他事情上解决。只需查看反编译的枚举器即可。

您不能依赖反编译器为您提供某人编写的确切代码,而是为您提供编译器优化过的代码。

关于java - 反编译后的一些语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7671912/

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