gpt4 book ai didi

Java Swing 应用程序在正常模式下运行时挂起,但在 Debug模式下运行良好

转载 作者:行者123 更新时间:2023-11-29 08:18:08 24 4
gpt4 key购买 nike

我正在编写一个带有 Swing 前端的基本 Java 应用程序。基本上,它通过 Apache Cayenne 从 Derby 数据库加载一些数据,然后将其显示在 JTable 中。我在 Eclipse 中进行开发,我认为这不重要,但我正在使用 Maven 进行依赖。

现在,当我使用“调试”运行时这一切正常,但当我使用“运行”按钮时它似乎挂起显示线程。我已经完成了线程转储,我不是 100% 确定,但一切看起来都不错。我使用 Java VisualVM,那里的线程看起来也不错。

奇怪的是,它似乎断断续续地工作。虽然它非常一致并且易于重现。如果有人有任何想法,我都没有。

最佳答案

将 Maven 或 Eclipse 用于 Swing 应用程序应该不是问题。我们一直这样做,没有任何问题。你说你不是 100% 认为线程的一切看起来都很好,所以发布你的线程会很有用,特别是当你的应用程序挂起时 - 你可能有死锁。

你说它间歇性发生的事实让我相信这是一个线程问题。运行的调试器可能会导致线程运行不同,这就是它可能在 Debug模式下工作的原因。由于 Swing 不是线程安全的,因此 Swing 线程问题通常是由于未在事件分派(dispatch)线程上执行 GUI 更新而引起的。任何直接或间接更新 swing 组件的操作(意味着如果它更新表模型,然后更新表)必须在事件调度线程上完成

如果您可以缩小应用程序卡住时调用的代码块的范围,那么您应该尽可能发布它,这也会有所帮助。

关于Java Swing 应用程序在正常模式下运行时挂起,但在 Debug模式下运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2785644/

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