在下面的Java 6中,代码按预期运行,但在Java 8中,它需要花费更多的时间.有趣的是,组件使用相同的方法setEnable()来启用和禁用组件,但禁用调用所需的时间比启用组件要长得多,几乎是后者的两倍.Java 8中的禁用时间比Java 1.6中的禁用时间长.问题是为什么会发生这种情况?这是Java 8的性能问题吗?
以下是Java 6的结果:
Sun Microsystems Inc. 1.6.0_45
Initializing GUI
GUI initialized in 1105 ms
Disabling
Disabled in 687 ms
Enabling
Enabled in 375 ms
Run Code Online (Sandbox Code Playgroud)
以下是Java 8的结果:
Oracle Corporation 1.8.0_25
Initializing GUI
GUI initialized in 604 ms
Disabling
Disabled in 6341 ms
Enabling
Enabled in 370 ms
Run Code Online (Sandbox Code Playgroud)
代码:
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class TestGUI extends JFrame implements ActionListener {
private static final long …Run Code Online (Sandbox Code Playgroud)