gpt4 book ai didi

java - Java版本之间的不兼容性

转载 作者:搜寻专家 更新时间:2023-10-31 08:19:38 25 4
gpt4 key购买 nike

有一段复杂的代码执行许多复杂的数学运算。

当它在 jdk 1.7 上由 maven 构建和测试时,它通过了所有测试。使用 jdk 1.8 时失败。

试图在调试器中找到计算出错的地方似乎几乎没有希望。

我有哪些选择?是否有工具可以扫描我的代码中 jdk 1.7 和 1.8 之间的不兼容性?

我最好的选择是在两个单独的调试器中运行代码并查看差异在哪里吗?

编辑:

@Philipp Claßen这是迄今为止最可能的原因。我希望有一种自动检查的方法。

@dkatzel代码不是我写的,评论很差,做的科学计算对我来说是“woodo”。

@迈克塞缪尔我看不出这种方法比并行运行两个调试器有什么好处。

谢谢大家的帮助。似乎两个调试器是最好的方法。

编辑 2原始代码的作者依赖于 HashMap 排序。这就是问题所在。

最佳答案

寻找不确定性的来源。

尤其是像 HashMap 这样依赖于集合中元素排序的代码是危险的,因为排序是未指定的并且取决于 JVM。

我在每次 JVM 升级中都看到,这样的(错误的)代码靠运气运行,一旦 JVM 实现发生变化就会立即崩溃。

关于java - Java版本之间的不兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27451187/

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