【发布时间】:2012-08-07 08:56:35
【问题描述】:
我有一个正在处理的应用程序决定以一种非常无法解释的方式停止工作。经过一些调试和错误跟踪,我发现问题出在我的代码中对特定方法的调用中。
public static void main(String[] args) throws FileNotFoundException {
System.out.println("Print ");
InternalPanel.init();
}
IN INTERNAL PANEL
public static void init() {
System.out.println("Line");
}
澄清一下,从其他类调用任何其他方法是可行的。从这个特定的类调用任何方法都不起作用。
此外,这个类(和其中的方法)一直有效。
当它停止工作时,我正在对程序中完全不相关的东西进行微小的更改(如在单独的线程中,对相关类没有影响)
【问题讨论】:
-
如果您恢复更改怎么办?
-
这个特别无害的系统调用似乎不会导致挂起。使用功能强大的调试器审慎地检查您的代码,并查看程序调用的每一步发生了什么。
-
InternalPanel是否有任何类型的静态初始化?如果是,请出示该代码。 -
这个问题太模糊了。
-
InternalPanel这是一个 Swing 程序吗?应该在 AWT 事件调度线程 (EDT) 上执行所有组件操作(使用java.awt.EventQueue.invokeLater和大量样板文件)。可变静态/全局状态也很糟糕。 / 其他线程在做什么? - 使用你的调试器,jstack,ctrl-\/ctrl-break,或类似的。
标签: java class methods static static-methods