我已经开发 Grails 一段时间了,但一直遇到与平台相关的行为。我发现了一些只发生在合法 Windows 版本上的错误,也发现了一些只发生在一台机器上的错误,即使我重新格式化并重新安装了其他操作系统和 JVM。我最近遇到的一个问题,我可以在几台机器上重现,但其他人都不能,就是这个:https://stackoverflow.com/questions/8884569/grails-println-only-works-sometimes-or-something
是否有某种测试或基准测试套件可以用来查看我的 JVM 是否正确实现?
答案1
有Java 兼容套件它对 JVM/JDK 进行了大量测试,但这可能有点过度,而且设置和运行可能并不简单。
您曾说过:
我发现即使我重新格式化并重新安装其他操作系统和 JVM,错误也只会发生在一台机器上
你的程序如何打印东西?是打印到 GUI 还是控制台?如果是 GUI,可能是你的显卡和 Java 的 2D 硬件加速存在兼容性问题。可能值得尝试一下Java 2D 系统属性(尝试noddraw
在 Windows 上关闭所有加速,在 'nix 上尝试使用 opengl 设置)。
除此之外,您可以尝试使用 -Xint 以解释模式(慢!)运行 JVM,看看是否存在 JVM 字节码编译问题。