作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我测量我的 Java 应用程序的吞吐量时,我发现随着时间的推移性能提高了 50%:
我相信性能会随着 JIT 优化执行路径而提高。
不保存 JIT 编译的原因是“JVM 执行的优化不是静态的,而是动态的,基于数据模式和代码模式。很可能这些数据模式将在应用程序的生命周期内发生变化,从而导致缓存优化达不到最佳效果。”
但是,我知道这些数据模式在我的应用程序生命周期内不会改变,甚至在多个应用程序生命周期内也不会改变。那么我怎样才能在 HotSpot JVM 中“保存”这些性能提升呢?
另请参阅相关的 question和 discussion .
最佳答案
您可以尝试调整您的应用以使用 Nailgun 运行它.每次针对长生命周期 JVM 的 Nailgun 服务器调用应用程序时,无需针对新的 JVM 调用您的应用程序。第二次调用您的应用程序时,nailgun JVM 将优化您的类中的路径,因此执行速度应该比刚开始时快得多。
关于Java/JVM(热点): Is there a way to save JIT performance gains at compile time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779339/
我是一名优秀的程序员,十分优秀!