一、基本概括
由于jdk的稳定版本是常见的jdk8版本,但是新推出的SpringBoot3需要jdk17支持,而且相对老版的springboot,springboot有很多优势:
1. Java 17基线和对Java 19的支持:确保了与最新Java版本的兼容性,利用最先进的语言特性来提高开发效率和应用性能。
2. 整合了Spring框架6和Jakarta EE 9:这提供了最新的框架支持,以及对现代Java企业开发的全面支持。
3. 对GraalVM原生镜像的支持:这项支持使得创建云原生应用更加高效,可以生成更小和更快的原生镜像,从而提高了应用的启动时间和性能。
4. 增强了对响应式编程的支持:Spring Boot 3完全支持响应式编程模型,使得构建响应式和可伸缩的应用变得更加容易。
5. Log4j2的增强:改进了日志功能,更好地支持现代化日志管理。
6. 改进的可观测性:借助Micrometer和Micrometer跟踪,开发者现在可以记录多种应用指标,更好地监控和调试应用。
springboot3更多信息:
What are the Spring Boot 3 New Features?
Spring Boot 3 and Spring Framework 6.0 – What’s New | Baeldung
New Features In Spring Boot 3 And Spring 6 - JavaTechOnline
目前jdk情况分析如下
JDK版本 |
类型 |
发布日期 |
强调 |
推荐 |
长期支持 |
03/2014 |
拉姆达斯 |
先前发布模型下的最后一个 LTS 版本。Oracle 的免费更新 ,但仍由其他人维护。在接下来的几个月内升级到 11 或 17! |
|
特征 |
09/2017 |
模块 |
引入了新的发布模型。停产。现在升级到 11 或 17! |
|
特征 |
03/2018 |
变量 |
停产。现在升级到 11 或 17! |
|
长期支持 |
09/2018 |
新的 HTTP 客户端 |
广泛使用的 LTS 版本。计划在未来几个月内升级到版本 17。 |
|
特征 |
03/2019 |
停产。现在升级到17! |
||
特征 |
09/2019 |
停产。现在升级到17! |
||
特征 |
03/2020 |
切换表达式 |
停产。现在升级到17! |
|
特征 |
09/2020 |
文本块 |
停产。现在升级到17! |
|
特征 |
03/2021 |
记录 |
停产。现在升级到17! |
|
长期支持 |
09/2021 |
密封类 |
当前的 LTS 版本。 |
|
特征 |
03/2022 |
坚持17!这是一个没有重要功能的短期版本。 -Dfile.encoding=UTF-8 您可能想通过在当前的 JDK 中进行设置来检查是否遇到“默认 UTF-8”的任何问题。 |
||
特征 |
09/2022 |
仅预览和孵化器功能 |
坚持17!如果之前升级到 18,现在升级到 20。 |
|
特征 |
03/2023 |
仅预览和孵化器功能 |
坚持17!如果之前升级到 19,现在升级到 20。 |
二、jdk安装操作:
(一)、jdk8和17安装
1、卸载JDK应用程序
不能单纯打开应用卸载或者删除目标文件夹,删除不彻底的,后期容易出问题。
1. 安全风险: 保留系统上的旧版Java可能会构成严重的安全风险。移除旧版Java可以确保Java应用程序能够在系统上运行,并拥有最新的安全性和性能优化。
2. 环境变量冲突: 如果操作系统的环境变量(如PATH)未正确配置,可能会导致系统调用错误的Java版本,这可能导致兼容性问题或其他未预见的错误。
3. 磁盘空间: 旧版和新版JDK同时存在会占用更多的磁盘空间。
4. 版本管理:对于进行开发的用户而言,可能需要根据不同的项目要求切换不同版本的JDK,如果不维护好各个版本的JDK环境,管理起来可能会变得复杂。
5. 自动卸载: 特别指出的是,Oracle的最新JDK安装程序从JDK 11和JDK 17开始,会自动移除旧版本的JDK。如果用户没有预见到这一点,可能会损失掉他们原本想要保留的旧版本。
综上所述,最好根据个人需求和安全考虑,在安装新版本JDK前卸载旧版本。如果需要保留旧版本用于特定目的,则需确保合理配置和管理不同版本的JDK环境,以及实时更新保持软件安全。
这里借鉴大佬最小白操作:
老版本卸载。
先检查是否存在jdk,不然容易出错。
win+R调出命令行:
java -version
如果没有则进行下载,如果有老版本建议卸载,再进行安装。
卸载方法:
1.1、删除jdk程序
①在开始处,点击设置