SpringBoot 3.0最低要求变更
Spring Boot 3.0需要Java 17 和Spring Framework 6作为最低版本。
我想说的是,JDK 17 才是YYDS,因为JDK 18 是一个短期维护版本,只有6个月的维护支持。根据开发计划,JDK 19 将于今年 9 月发布,但也是短期维护版本,长期来看 JDK 17 会像 JDK 8 一样被企业采用到生产项目。
Java基线从 Java 8 提升到了 Java 17
这个在最早的Spring Boot 3相关预告中就已经知道了,Java 17将成为未来的主流版本。
我们打开:https://start.spring.io
就会发现Spring官方默认支持选中的是 JDK 17 ,跟着 Spring 官方学习并支持 JDK 17 一定没错,我很看好 JDK 17 的新特性。
Java 17的14 个 新特性,分别是:
- 306:恢复始终严格的浮点语义
- 356:增强型伪随机数发生器
- 382:新的 macOS 渲染管道
- 391:macOS/AArch64 端口
- 398:弃用即将删除的 Applet API
- 403:强封装JDK的内部API
- 406:Switch模式匹配(预览)
- 407:删除 RMI 激活
- 409:密封类
- 410:删除实验性 AOT 和 JIT 编译器
- 411:弃用即将删除安全管理器
- 412:外部函数和内存 API(孵化器)
- 414:Vector API(第二次进行特性孵化)
- 415:特定于上下文的反序列化过滤器
在这14个功能中,哪一个对你最实用。
Java 17 到底有多快?
看到如此诚意满满的更新,开发者到底要不要升级呢?尽管只需切换JDK即可体验Java 17。对此,OptaPlanner网站做了一项基准测试:Java到底有多快?通过比较 JDK 17、JDK 16 和 JDK 11 来告诉你答案。
基准测试总结
平均而言,以 OptaPlanner 为例的基准测试结果表明:
1、对于 G1GC(默认),Java 17 比 Java 11 快 8.66%,比 Java 16 快 2.41%。
2、对于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%。
3、Parallel GC 比 G1 GC 快 16.39%。