升级 JDK 到 1.8 笔记
新的项目采用的框架最低需要 JDK1.8 的支持,考虑到 JDK1.8 也优化了底层的处理(如:HashMap 在并发下会出现死循环),最终决定升级版本。 而生产环境上使用的 JDK 版本为 1.7,为了不影响线上业务,先做了模拟测试并记录了操作的步骤,具体步骤如下:
0、关闭服务、清理无用服务
(因升级可能会影响线上业务,所以需要选择合适的时间点关闭业务)
1、升级 JDK(因采用的是绿色版,可以直接从把打包的文件直接上传覆盖)
a、备份原有的 jdk 目录(保险起见,这一步一定要有, 有问题还可回滚)
b、解压到原目录(和原有目录保持名称一致)(/etc/profile source /etc/profile)
2、加密,安全文件 lib(jce_policy-8.zip)替换/usr/local/java/jre/lib/security 下 local_policy.jar、US_export_policy.jar
主要是因为项目中有采用 AES 256 算法,需要对应的扩展才可支持。
可参考: https://www.cnblogs.com/yaks/p/5608358.html
3、修改 JVM 参数 PermSize 修改为 MetaspaceSizeMaxPermSize 修改为 MaxMetaspaceSizeUseCMSCompactAtFullCollection/CMSFullGCsBeforeCompaction 移除
4、重启服务器,启动服务。
5、测试验证。
总结:
线上处理还算顺利,未遇到什么大的问题。 和线上一致的测试环境最好保留一套。一开始我们内网的 JDK 版本和线上的版本不一致,导致我们遇到很多的麻烦。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/bd9cedc6b5415c6b414d6ca67】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论