日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

3月20日, Java 10 正式发布了!

發(fā)布時間:2025/1/21 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3月20日, Java 10 正式发布了! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3 20 日,Oracle 宣布 Java 10 正式發(fā)布。官方已提供下載:http://www.oracle.com/technetwork/java/javase/downloads/index.html?

? ?

Java 9 之后,Java 采用了基于時間發(fā)布的策略,每 6 個月一個版本。這是采用新的發(fā)布策略之后的第一個版本。

? ?

Java 10 主要有 12 個新特性。

具體來看看。

? ?

JEP 286: Local-Variable Type Inference

? ?

局部變量的類型推導。

很多人都會吐槽 Java 代碼寫起來太過繁瑣,特別是涉及泛型的時候。就像 C++,也基于?auto?關鍵字引入了類型推導功能。

Java 也計劃引入類似特性,語法是這樣的:

var list = new ArrayList<String>(); ?// infers ArrayList<String>var stream = list.stream(); ? ? ? ? ?// infers Stream<String>

? ?

該特性只能用于三種場景:

  • 帶有初始化信息的局部變量
  • 增強 for 循環(huán)中的索引
  • 傳統(tǒng) for 循環(huán)中的局部變量

看個復雜點的例子:

對該特性感興趣的讀者可以參考:https://developer.oracle.com/java/jdk-10-local-variable-type-inference?
JEP 296: Consolidate the JDK Forest into a Single Repository

? ?

JDK 的多個代碼倉庫合并到一個代碼倉庫中。

看過 JDK 代碼的應該知道,JDK 的不同功能分布在不同代碼倉庫中。以 JDK 9 為例,代碼倉庫有 8 個: root corba hotspotjaxp jaxws jdk langtools nashorn。其中 hotspot 是虛擬機實現代碼,jdk Java 類庫和相關工具,langtools javac 等工具,nashorn JavaScript 引擎。

JEP 304: Garbage Collector Interface

? ?

垃圾收集器接口。

hotspot/gc 代碼實現方面,引入一個干凈的垃圾收集器接口,改進不同垃圾收集器源代碼的隔離性。這樣添加新的或者刪除舊的 GC,都會更容易。

? ?

? ?

JEP 307: Parallel Full GC for G1

? ?

G1 垃圾收集器引入并行 Full GC

JEP 310: Application Class-Data Sharing

? ?

Java 之前就引入了類數據共享機制,Class data sharing (CDS) ,以減少 Java 程序的啟動時間,降低內存占用。簡單來說,Java 安裝程序會把 rt.jar 中的核心類提前轉化成內部表示,轉儲到一個共享的文件中(shared archive)。多個 Java 進程(或者說 JVM 實例)可以共享這部分數據。

現在,希望更近一步,支持應用類的數據共享。

? ?

JEP 312: Thread-Local Handshakes

? ?

修改安全點機制,使得部分回調操作只需要停掉單個線程,而不像以前那樣,只能選擇或者停掉所有線程,或者都不停止。

? ?

JEP 313: Remove the Native-Header Generation Tool (javah)

? ?

去掉 javah 工具。

?JDK 8 開始,javah 的功能已經集成到了 javac 中。所以,javah 可以刪掉了。

? ?

JEP 314: Additional Unicode Language-Tag Extensions

? ?

額外的 Unicode 語言標簽擴展。

增強?java.util.Locale??和相關 API,實現 BCP 47 語言標簽中額外的 Unicode 擴展。

? ?

JEP 316: Heap Allocation on Alternative Memory Devices

? ?

在可選內存設備上分配堆內存。

支持將 Java 對象堆分配到 NV-DIMM 等內存設備上。隨著 NV-DIMM 越來越便宜,未來的系統(tǒng)可能會搭載異構內存架構。

? ?

JEP 317: Experimental Java-Based JIT Compiler

? ?

實驗性的基于 Java JIT 編譯器。

支持基于 Java JIT 編譯器。相關工作主要基于 GraalGraal 也是 Java 9 中引入的 AOT 編譯器的基礎。

? ?

JEP 319: Root Certificates

? ?

根證書。

JDK 中提供一組默認的根證書。

? ?

JEP 322: Time-Based Release Versioning

? ?

基于時間的版本字符串。修改?Java SE 平臺和 JDK 版本字符串機制。考慮和之前版本號的兼容等問題,新的版本命名機制是:

$FEATURE.$INTERIM.$UPDATE.$PATCH
$FEATURE,每次版本發(fā)布加 1,不考慮具體的版本內容。(之前的主版本號部分)2018 年 3 月的版本是 JDK 10,9 月的版本是 JDK 11,依此類推。
$INTERIM,中間版本號,在大版本中間發(fā)布的,包含問題修復和增強的版本,不會引入非兼容性修改。
馬上下載嘗試吧!

總結

以上是生活随笔為你收集整理的3月20日, Java 10 正式发布了!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。