gpt4 book ai didi

java - 检测导致常量池损坏

转载 作者:行者123 更新时间:2023-11-30 09:25:25 26 4
gpt4 key购买 nike

我有一个方法 A.passLong(Long) 接收 long 作为参数。我检测类 B,并添加对该方法的调用,并传递一个长常量。

当我调试调用的方法 A.passLong(Long) 时,我看到该方法接收到一个数字,该数字不是我作为参数传递的数字。

我使用“javap -verbose”使用检测代码反编译类的转储,看起来从常量池读取的数字(我在调试器中看到的数字)是预期数字和常量池中的以下数。

这不是 JIT 问题,因为它会在调试和禁用 JIT 时重现。

有什么想法吗?

最佳答案

这看起来像一个 known issue在 Sun Java1.5_04 中。从那以后,他们添加了一些代码来在重新定义类时保护类中的反射(和常量池)。参见 release notes .我知道 Sun 的 1.5_12 运行良好。

那么您使用的是哪个 JVM?

关于java - 检测导致常量池损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15320676/

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