gpt4 book ai didi

swing - Java SE 二进制崩溃

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

我有一个 Java swing 应用程序,它订阅了大量数据并以各种方式显示这些数据。在重负载下,我遇到了 JRE 只是停止工作并显示消息“Java(TM) Platform SE 二进制文件已停止工作”。这显然会关闭我的应用程序,我需要重新启动它。我试图通过谷歌搜索解决此问题的方法,因为我的代码或任何我可以使用的东西都没有堆栈跟踪,但除了升级/重新安装 JRE 和运行病毒扫描之外,我发现的有用信息很少。我已经完成了这两项措施并重新启动了服务器,但问题仍然存在。我曾尝试使用 Java VisualVM 监视进程(请参阅下面的转储),但我不是此工具的专家,可能不知道要查找什么。我的观察是“崩溃”似乎与垃圾收集同时发生。

该问题很容易重现,并在运行应用程序大约 10 分钟后出现。我不使用任何特定的 jvm 参数运行应用程序。 Java 版本是 1.6.0_31(升级前是 _25),我在 Windows 7 64 位上运行。

在下面的 VisualVM 图片中,Java 二进制文件刚刚停止工作,这似乎与 GC 运行一致。 Dump from Java VisualVM

非常感谢任何帮助或想法,以便我可以解决或解决问题。谢谢。

最佳答案

要检查的三件事:

  1. 如果您在任何地方实现了finalize() 方法,请确保它不会直接或间接锁定任何对象;这可能会导致与 GC 相关的灾难性死锁。

  2. 如果您有 native 代码,如果代码没有正确使用全局引用,可能会发生许多奇怪的事情,包括死锁和奇怪的内存损坏,这将再次与 GC Activity 相关。

  3. 最后,GC 可能只是“搅局”并暴露应用程序中存在的普通死锁;检查您的同步协议(protocol)。

关于swing - Java SE 二进制崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285717/

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