java - GUI 应用程序并测量运行时间

标签 java swing user-interface

(1) 我写了一个关于这个问题的问题,但我认为我没有正确地陈述问题,所以我删除了它。言归正传,在我的 GUI 应用程序中,我注意到当我想使用 System.currentTimeMillis(); 测量方法所花费的运行时间时,与实际情况相比,时间变得非常短且不切实际。通过终端或控制台运行 jar 文件的标准方式,Java Swing 在这里会产生一些效果吗?

(2) 因为我想保留我的 GUI 并解决这个问题,所以我读到了禁用 JIT 的可能性,我怎样才能将它写成我的程序中的一段代码,这样当它运行时,JIT 在仅我的应用程序的运行时。

谢谢。

最佳答案

使用 -Xint 运行您的程序选项,其中“以仅解释模式运行应用程序。禁用 native 代码编译,所有字节码均由解释器执行。在此模式下不存在即时 (JIT) 编译器提供的性能优势。”

作为一个具体的例子,这个AnimationTest使用 System.nanoTime() 显示在 paintComponent() 中花费的平均时间。使用 -Xint 选项,时间保持相当恒定:

java -Xint -cp build/classes overflow.AnimationTest

如果没有该选项,即编译为 native 代码,很容易看到绘制时间的长期减少,有时甚至减少一个数量级:

java -cp build/classes overflow.AnimationTest

关于java - GUI 应用程序并测量运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36992417/

相关文章:

Java:Runtime.getRuntime().exec() - 如何获取对已启动程序 JFrame 的引用?

css - 如何使用 Bootstrap 网格制作此 View ?还是我应该使用列表组?

java - 如何从sql数据库获取日期数据类型到java?

java - 使用监听器和鼠标指针位置来检查指针是否在圆内

java - 如何存储通话记录

java repaint 屏蔽了 jbutton

Java MigLayout 在行中固定等宽

java - 如何在 Android 中实现登录弹出对话框,直到注销才弹出?

java - 如何修复 ""错误“找不到符号 java”?

java - 动态 JFrame - 更改 JFrame 内容