成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

繼 SpringBoot 3.0,Elasticsearch8.0 官宣:擁抱 Java 17

開發 前端
新版任你發,我用 Java 8,這可能是當下 Java 開發者的真實寫照。不過時代可能真的要拋棄 Java 8,全面擁抱 Java 17 了。

大家好,我是君哥。

新版任你發,我用 Java 8,這可能是當下 Java 開發者的真實寫照。不過時代可能真的要拋棄 Java 8,全面擁抱 Java 17 了。

Spring Boot 3.0

前些天,相信小伙伴們都注意到了,SpringBoot 發布了 3.0.0-M1 版本,并官宣全面擁抱 Java 17,下面的截圖是 Release Notes 中的一段:

其他的新特性大家可以去 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 月 11 日,Elastic 也發布了新版本 Elastic 8,這個版本跟上個版本間隔了 3 年。下面的截圖是 Issue 79873:

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

Java 17

從 Java 8 以后,每個版本發布都增加了哪些新特性呢?我們一起來看一下。

Java 9

  • 私有接口方法
  • 默認垃圾收集器改為 G1
  • HTTP client,支持 WebSocket、HTTP/2、HTTPS/TLS、非阻塞 API。

Java 10

  • 局部變量類型推斷,可以使用 var 類型來定義變量。
  • 不可變集合
  • G1 支持并行 Full GC
  • 基于 Java 的 JIT 編譯器 Graal
  • 支持在不執行全局安全點的情況下執行線程回調,這樣可以在不停止所有線程的情況下停止單個線程。

Java 11

  • 標準 HTTP Client 升級
  • 引入 ZGC 垃圾收集器
  • Flight Recorder,可以收集基于 OS、JVM和JDK 事件產生的數據。
  • 對Stream、Optional、集合 API進行增強。

Java 12

  • 引入 Switch 表達式
  • Shenandoah GC 垃圾收集算法
  • JMH 基準測試
  • G1 支持可中斷的 mixed GC,將 Mixed GC 拆分為強制部分和可選部分,強制部分一定會被回收,可選部分可以不被回收,這樣垃圾收集過程中優先處理強制集,更容易滿足暫停時間目標。
  • G1 可以歸還不使用的內存給操作系統

Java 13

  • switch 優化更新,增加 yield 關鍵字用于返回結果。
  • ZGC 支持將未使用的內存歸還操作系統
  • 引入了文本塊,可以使用 """ 三個引號表示文本塊,示例代碼如下:
String html = """
<html>
<body>
<p>Hello, world</p>
</body>
</html>
""";

Java 14

  • instanceof 語法簡化,可以直接給對象賦值:
if (obj instanceof String s) { 
//這里可以使用 s 變量
} else {
//這里不能使用 s 變量
}
  • 引入 Record,類似于枚舉類型,具有 Lombok 功能,可以自動生成構造器、equals、getter 等方法。
  • 放棄 CMS

Java 15

  • 引入 hidden class
  • String.substring 優化,如果長度為 0,返回 null
  • 引入 Sealed class

Java 16

  • Stream新增toList方法
  • 提供jpackage
  • java.time 根據時段獲取時間

Java 17

  • 升級 switch 使用,switch可直接用 instanceof 模式匹配選擇,不過需要提前做 null 判斷(下面代碼選自 oschina):
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");
}
  • 默認啟用 Parallel GC
  • 增強TreeMap
  • 統一日志異步刷新,先將日志寫入緩存,獨立線程負責刷新到相應輸出。

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

總結

全面擁抱 Java 17 還沒有真的到來,但已經在路上了,作為程序員的我們應該做準備了。


責任編輯:武曉燕 來源: 君哥聊技術
相關推薦

2022-06-10 14:17:19

5G R175G創新

2020-12-25 14:55:13

VS Code代碼編程

2023-06-29 07:54:19

2025-04-07 02:21:00

2023-08-31 22:50:12

微軟開發

2015-05-20 15:51:50

敏捷網絡/華為

2015-05-21 08:55:46

華為敏捷網絡

2018-11-15 11:17:46

智慧城市

2021-05-28 13:44:02

華為MatePad Pro鴻蒙系統

2016-12-09 08:51:18

GoogleDevelopers網站

2024-01-18 15:17:56

谷歌云計算三星

2022-04-25 10:34:19

云原生直播

2010-10-22 14:43:09

移動開發

2019-12-26 09:26:50

青云QingCloud

2021-11-01 05:35:57

Avast免費殺毒Windows 11

2024-08-13 13:11:02

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频不卡 | 黄色网一级片 | 久久国产一区二区 | 日本精品一区二区三区视频 | 日日骚视频 | 亚洲精品一二三区 | 亚洲精品一区二区三区蜜桃久 | 91精品国产91久久综合桃花 | 日韩人体在线 | 精品一区二区在线看 | 欧美一二三 | 91秦先生艺校小琴 | 亚洲福利视频网 | 天天色天天射天天干 | 午夜精品一区二区三区在线 | 久久久久无码国产精品一区 | 中文字幕乱码一区二区三区 | 国产成人免费网站 | 97精品视频在线 | 亚洲美女视频 | 龙珠z在线观看 | 国产一级在线 | 久久机热 | 久久伊人一区二区 | 亚洲一区自拍 | 国产综合视频 | 欧美久久久网站 | а天堂中文最新一区二区三区 | 国产婷婷在线视频 | 国产色在线 | 嫩草影院网址 | av中文字幕在线观看 | 国产一区不卡 | 日本三级网址 | 亚洲成人中文字幕 | 亚洲视频在线播放 | 婷婷丁香激情 | 日韩成人免费在线视频 | 欧美激情精品久久久久久变态 | 国产精品1区 | 精品一区在线 |