小编Igo*_*din的帖子

JDK,JRE兼容JAR

我对JDK和JRE源代码和二进制兼容性(例如thisthis)有所了解,但不确定以下情况:

考虑我有一个使用JDK5编译并在JRE6上运行的应用程序.它使用一些库(jar),它们也使用JDK5编译.

现在我想使用JDK6编译我的应用程序.在这种情况下运行时会出现哪些新问题(特别是与"旧"罐的兼容性)?我应该完全重新测试应用程序(触摸每个库)还是可以依赖于承诺的JDK/JRE兼容性?

java compatibility

12
推荐指数
2
解决办法
3468
查看次数

检测到 JVM 正在关闭

我有一个使用 addShutdownHook() 处理 Ctrl+C 的 Swing 应用程序,它工作正常,直到我有一个关闭任务调用一个函数,该函数在正常情况下更改 JLabel 文本,此时它挂起。

我认为问题在于 Swing EDT 已终止或正在等待某些事情。

有没有办法确定 EDT 已终止或“完成”(因此我可以避免调用 Swing 方法),或者防止在 Ctrl-C 上通常关闭所有窗口的行为?


只是为了澄清:

我在一个名为 的类中有一个方法stop()。在正常情况下,这可以被调用(连同它的补码start()),它会触发一连串的事情,导致 JLabel 被更新,以获得stop()已经发生的视觉反馈。

当我的关闭挂钩运行时,我需要调用stop()以正常关闭某些资源。

我要问的是如何检测 Swing EDT 不存在,以便我可以重写,stop()以便检测缺少 Swing 并避免调用 Swing 函数。

java swing event-dispatch-thread shutdown-hook

3
推荐指数
1
解决办法
6693
查看次数