1

就在最近,我回到了一个我有一段时间没做过的项目。我第一次在这个新的编程会话中运行它时,加载需要三分钟。我不知道从现在到我最后一次工作(大约三个月前)之间会发生什么变化,但我知道代码没有改变。

我将问题追溯到 JFrame 构造函数。我找到了这篇文章:

在 Swing 应用程序启动期间首次调用 JFrame 构造函数需要很长时间(因为 java.awt.Window())

然而,这似乎确实相关,因为他的问题只花了几百毫秒。我确实使用他的代码进行了简单的测试,我的输出如下:

第一个 JFrame 为 202720。
0 表示第二个 JFrame。

我正在使用 jdk-7u7-windows-x64。我完全不知道是什么原因造成的,因此我们将不胜感激。

谢谢你。

编辑这是我从链接帖子中复制的代码:

import javax.swing.*;
public class Main {
public static void main(String[] args) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            long start;

            start = System.currentTimeMillis();
            JFrame frame1 = new JFrame("Frame1");
            System.out.println((System.currentTimeMillis() - start) + " for first JFrame.");

            start = System.currentTimeMillis();
            JFrame frame2 = new JFrame("Frame2");
            System.out.println((System.currentTimeMillis() - start) + " for second JFrame.");

            frame1.setVisible(true);
            frame2.setVisible(true);
        }
    });     
}
}

编辑我已经完成了所有通常的猜测工作

+ 重启 Eclipse
+重新启动的Windows
+重新安装Java
+ 导出到 Jar(结果相同)
4

0 回答 0