发布时间:2025-11-21
浏览次数:0
最近在进行海外需求的开发工作,要将先前在国内所做的一套系统迁移至海外业务之上,鉴于官网对于JDK1.8版本已然不再给予维护支持,而客户提出要求必须使用JDK17以上版本,所以就把国内基于JDK1.8 + -2.3.3的微服务升级为JDK17 + -2.7.18,此次会详细讲述一下在升级过程中所碰到的一些问题,以及怎样在Mac和Liux上快速安装JDK17等多个版本!
自JDK1.8演变至17经历了怎样更新?为何会提议将所有的JDK统统提升至17?JDK1.8与JDK17之间存在着怎样关键的不同之处?
2014年发布的JDK 1.8codejock 17,和2021年发布且为LTS的JDK 17,它们的主要区别是下面这样:
首先是核心特性更新,然后性能得以提升,接着生态支持进行升级,之后是JDK17推荐版本选择,最后呈现升级到JDK17后的JVM参数GC配置。
使用ZGC的JVM参考配置
--add-opens=java.base把/java.lang设置为ALL - UNNAMED,设置初始堆大小为1500m,设置最大堆大小为1500m,设置保留代码缓存大小为 。256m \-XX:InitialCodeCacheSize=256m,-XX 加上解锁实验性虚拟机选项,-XX 加上使用 ZGC,-XX 该参数值为并发垃圾回收线程数,。1 -XX:ParallelGCThreads=2[id_750235071]30你提供的内容并不是一个完整的句子呀,请你补充完整以便我按照要求进行改写。5-XX 加上解锁诊断虚拟机选项,-XX 去掉 Z 主动,-Xlog 记录安全点、类直方图相关如 trace,寿命相关,垃圾回收相关如 info,记录到指定文件即 /opt/gc-%t.log,记录时间、线程 ID、标签,文件数量为 。5,filesize=50启用 `-XX:+HeapDumpOnOutOfMemoryError` 选项,设置 `-XX:HeapDumpPath=/opt/errorDump.hprof` 路径 。
jvm参数解释
官方参考文档
安装多版本JDK
因为本地服务器当中存在多个应用处于部署状态,所以要安装多个jdk的版本,在此我会详细讲述一下mac以及linux怎样安装多版本jdk 。
Mac安装多版本JDK步骤
可推行使用jenv +方案,在macOS之上,借助以下步骤达成以实施管理多版本JDK:
一、安装 JDK 171. 命令安装-国内用户安装会比较慢
实施 Eclipse Temurin JDK 的安装操作,此版本为推荐的长期支持类型版本 。
将家酿工具的切换到,由家酿团队提供的,包含各种版本的,用于管理软件包的,名为桶版本的源。
brew install --cask temurin@17
# 验证安装路径(默认路径)
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
博主进行了尝试,处在国内环境下,运用这个命令来安装,将会持续卡在那里,保持不动的状态,因而建议采用缓存方式,进行手动安装 。
2. 或手动下载安装
下载结束之后,径直点击dmg文件,而后持续以简单无脑的方式操作去点击下一步,如此便能够完成安装,安装完毕时的界面呈现如下这样子 。
安装完成后可以看到
//Java//jdk/目录下多了个17的文件夹
二、安装jdk版本管理工具 jenv
# 安装 jenv
brew install jenv
# 配置 Shell(根据你的 Shell 类型选择)
echo 将路径“$HOME/.jenv/bin”与当前路径“$PATH”合并之后,得出新路径,将其导出,命名为路径“$PATH” 。 >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc

三、添加 JDK 到 jenv
把jdk的全路径配置到jenv,
# 添加已安装的 JDK
jenv add请你明确一下关于这个内容的改写要求呀,比如是要对其进行描述性改写还是其他什么呢?仅给出“/Library/Java/JavaVirtualMachines/j。.8.0_xxx.jdk/Contents/Home # 替换为你的 JDK8 路径
jenv add图书馆里的Java,Java的虚拟机器,jdk 。-17.jdk/Contents/Home
# 查看已注册版本
jenv versions
四、快速切换版本五、验证版本切换
# 检查 Java 版本
java -version
# 检查编译器版本
javac -version
# 查看 JAVA_HOME 路径
jenv javahome
输入命令可以看到全部版本均切换到了jdk17
六、环境变量配置(可选)
若需直接使用 变量:
于 ~/.zshrc 里头,又或者在 ~/.bash_profile 当中,进行添加,。
export JAVA_HOME=$(jenv javahome)
七、关于 IDE 配置,有一些建议需要留意,其中 PATH 优先级方面,要保证 jenv shims 路径的优先级比系统默认的 / 更高。同时,建议在项目级配置里指定 JDK 版本,比如在 pom.xml 或者其他类似的文件中进行指定。另外,若是手动安装 JDK,由于 JDK 与路径可能不一样,所以需要准确地将其添加到 jenv 中。
凭借这个方案,你能够毫无阻碍转折地切换 JDK 1.8 以及 17,从而达成不同项目下的编译所需条件。
Linux安装JDK步骤
安装jdk于linux,借助命令就能够完成安装,具体的安装步骤参照我之前曾经发表过的文章, 。
https://.csdn.net////
三、版本升级 cloud和 boot版本升级
jdk升级之后,原来的低版本便无法再使用了,因为Cloud是依赖于Boot的,所以使用了Cloud的同样需要去进行升级,它们之间存在着映射的支持版本关系,而情况如下:
这里我使用的是2.7.18版本
Maven构建工具版本升级
总结
这篇文章,针对怎样对jdk17版本展开安装,进行了周全讲述,并且在完成jdk17升级之以后,关于怎样去更改与之相对应的关联依赖版本也作了详尽说明。要是从客观具体情形来看codejock 17,你的微服务状况,始终是时常发生,处于频繁卡顿的状态,那么此时你能够开展JDK版本的升级操作,然后再对JVM的ZGC配置实施调整,如此一来没准所有问题,均能够顺势获得解决!
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码