系统不做任何优化,性能提升10%的方法
据网上测试的情况,我们只是将系统已有的jdk8升级到jdk11,系统性能将平均提升16%左右。这是在系统不做任何优化的情况下,仅通过升级jdk就可以达到的。怎么样有没有心动啊,快来试一试。
根据2021年JVM生态报告解读中统计,目前生产上使用jdk11已经占到60%之多,使用openjdk的已经占到44%左右。同时今年jdk17正式版将发布,这是一个长期支持版本;spring最近的大会上也宣布在明年的spring6 上将基于jdk17来编译。因此是时候升级一波了,至少你个人开发机上应该跟上步伐。至于公司的那就看你能不能说服老板了。
注意下面是在Centos7上将已有的jdk8升级到11的说明。
jdk11选择说明
在jdk9之前大家使用的都是sum公司维护的Oracle jdk;但是从jdk9开始sum公司宣布以后的版本如果用来挣钱的话就要付费了,这... 不是劝退吗?对于公司来说,开源的openJdk会存在不少风险,因为没有专门修bug的人了。因此我们需要选择大公司开源的长期维护版本才相对可靠些,这里我们选择亚马逊的jdk11 corretto(官方说的会维护更新到2027年)。
官网:https://docs.aws.amazon.com/corretto/index.html
注意:所有的jdk都是在开源社区发布的openjdk上进行升级维护的(包括sum公司,大家知道它只是它比较出名而已,现在Open JDK的供应商也越来越多了)。因此不必担心,我们只需要选择能够长期维护更新的就好。
升级jdk
升级步骤非常简单,下面是具体操作。先设置下载仓库
sudo rpm --import https://yum.corretto.aws/corretto.key
sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo
通过yum安装jdk11
sudo yum install -y java-11-amazon-corretto-devel
下面是卸载的命令(如果需要)
sudo yum remove java-11-amazon-corretto-devel
检验安装的jdk版本
输入如下命令查看安装的jdk版本
java -version
如果安装成功会显示如下信息
openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.12.7.1 (build 11.0.12+7-LTS, mixed mode)
如果发现没有(通常是你安装了其他的版本),运行如下命令来手动选择要使用的版本
sudo alternatives --config java
sudo alternatives --config javac
至此就升级完成了。下面就是测试我们的项目是否可以正常运行,通常之前如果是基于jdk8来开发的,那么基本上代码是不用做修改的;注意如果之前使用了javax相关的方法,需要额外引入,因为在jdk11中已经将其移除了。