作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(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/
我是一名优秀的程序员,十分优秀!