Java 8 开始退场

新版任你发,我用 Java 8。

这可能是当下 Java 开发者所经常听到的一句话,这也从侧面反映出了 Java 8 的经典。

不过时代可能真的要抛弃 Java 8,拥抱新版本了。

Spring Boot 3.0

之前 Spring Boot 发布了 3.0.0-M1 版本,并官宣全面拥抱 Java 17。

下面的截图则是 Release Notes 中的一段:

Java 8 开始退场

其他的新特性大家有兴趣也可以去 Github 查看。

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0.0-M1-Release-Notes/16c166b5fb4232998a8cfd3966c2851ec1eddf02

Spring Boot 3.0.0-M1 版本发布,也意味着 Spring Boot 进入 3.x 版本的迭代。

同时也看到,3.x 版本开始 Spring Boot 要全面拥抱 Java 17 了。

Elastic 8

凑巧的是,2022 年 2 月,Elastic 也发布了新版本 Elastic 8。

这个版本跟上个版本间隔了 3 年。

下面的截图是 Issue 79873:

Java 8 开始退场

可以看到,运行新的 Elasticsearch 版本需要 Java 17 了。

Java 17

从 Java 8 以后, 每个版本发布都增加了哪些主要新特性呢 ?我们一起来看看,这里挑几点列一下。

Java 9

Java 10

Java 11

Java 12

Java 13

String html = """
  
   
    

Hello, world

""";

Java 14

if (obj instanceof String s) { 
    //这里可以使用 s 变量
} else {
    //这里不能使用 s 变量
}

Java 15

Java 16

Java 17

Object o;
switch (o) {
    case null      -> System.out.println("首先判断对象是否为空,走空指针逻辑等后续逻辑");
    case String s  -> System.out.println("判断是否为字符串,s:" + s);
    case record p  -> System.out.println("判断是否为Record类型: " + p.toString());
    case int[] arr -> System.out.println("判断是否为数组,展示int数组的长度" + ia.length);
    case Integer i -> System.out.println("判断是否为Intger对象,i:" + i);
    case Student s   -> System.out.println("判断是否为具体学生对象,student:" + s.toString());
    case UserCommonService -> System.out.println("判断是否为普通用户实现类,然后走普通用户逻辑");
    case UserVipService    -> System.out.println("判断是否为vip用户实现类,然后走vip用户逻辑");
    default   -> System.out.println("Something else");
}

注意:上面的版本只有 Java 11 和 Java 17 是 LTS(Long Term Support) 版本 。

从最近的一些主流互联网技术框架的更新中多少也能隐约感受到,全面拥抱 Java 新版本的阶段还没有真的到来,但或许已经在路上了。

展开阅读全文

页面更新:2024-04-25

标签:数组   线程   变量   截图   逻辑   对象   垃圾   版本   类型   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top