Java 8环境下Runnable JAR性能大幅下降的原因咨询
Java 8升级后Runnable JAR性能大幅下降,REST调用耗时增至原环境4倍
我有一个基于Java 6开发的Runnable JAR,之前用JDK 1.6.0_45在Eclipse中编译完成,由外部BPMN调度框架定期在线程中执行。这个JAR主要负责三个核心操作:
- 调用外部C# WebService的REST接口
- 调用Microsoft Project Server的REST接口获取Excel报表
- 通过SMTP向多个收件人发送邮件
之前这个程序在Linux服务器上运行时,使用的Java运行环境是:
java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
最近因为业务需求,我将其升级到了Java 8:用Java SE 1.8(JDK 1.8.0_121)重新编译了整个解决方案,然后部署到了装有以下OpenJRE的Linux服务器上:
openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
但升级后我发现JAR的性能出现了大幅下降:尤其是REST接口的调用耗时,至少是Java 6环境下的4倍;读取Excel文件这类操作的耗时也明显变长。我用top命令观察了内存使用情况,发现和Java 6环境基本一致,只是整体执行时间大幅增加。
想请教各位,这可能是什么原因导致的?Java 8有没有已知的相关性能问题?
内容的提问来源于stack exchange,提问作者user3190153
相关产品推荐
相关产品推荐

