您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java 10的新特性有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java 10的新特性有哪些”這篇文章吧。
Java 10的新特性
說了這么多,看Java 10都會有哪些特性來改變我們寫代碼的方式呢?!
1. 局部變量類型推斷
局部變量類型推斷可以說是Java 10中最值得注意的特性,這是Java語言開發人員為了簡化Java應用程序的編寫而采取的又一步,如下圖所示。
這個新功能將為Java增加一些語法糖 - 簡化它并改善開發者體驗。新的語法將減少與編寫Java相關的冗長度,同時保持對靜態類型安全性的承諾。
局部變量類型推斷將引入"var"關鍵字,也就是你可以隨意定義變量而不必指定變量的類型,如:
將被下面這個新語法所取代:
看完是不是有點JS的即視感???越來越像JS了嗎?!雖然類型推斷在Java中不是一個新概念,但在局部變量中確是很大的一個改進。
說到類型推斷,從JDK 5引進泛型,到JDK 7的"<>"操作符允許不綁定類型而初始化List,再到JDK 8的Lambda表達式,再到現在JDK 10的局部變量類型推斷,Java類型推斷正大刀闊斧的向前發展。
局部變量類型推薦僅限于如下使用場景:
局部變量初始化for循環內部索引變量傳統的for循環聲明變量Java官方表示,它不能用于以下幾個地方:
方法參數構造函數參數方法返回類型字段捕獲表達式(或任何其他類型的變量聲明)
2. GC改進和內存管理
JDK 10中有2個JEP專門用于改進當前的垃圾收集元素。
第一個垃圾收集器接口是(JEP 304),它將引入一個純凈的垃圾收集器接口,以幫助改進不同垃圾收集器的源代碼隔離。
預定用于Java 10的第二個JEP是針對G1的并行完全GC(JEP 307),其重點在于通過完全GC并行來改善G1最壞情況的等待時間。G1是Java 9中的默認GC,并且此JEP的目標是使G1平行。
3. 線程本地握手(JEP 312)
JDK 10將引入一種在線程上執行回調的新方法,因此這將會很方便能停止單個線程而不是停止全部線程或者一個都不停。
4. 備用內存設備上的堆分配(JEP 316)
允許HotSpot VM在備用內存設備上分配Java對象堆內存,該內存設備將由用戶指定。
5. 其他Unicode語言 - 標記擴展(JEP 314)
目標是增強java.util.Locale及其相關的API,以便實現語言標記語法的其他Unicode擴展(BCP 47)。
6. 基于Java的實驗性JIT編譯器
Oracle希望將其Java JIT編譯器Graal用作Linux / x64平臺上的實驗性JIT編譯器。
7. 根證書(JEP 319)
這個的目標是在Oracle的Java SE中開源根證書。
8. 根證書頒發認證
這將使OpenJDK對開發人員更具吸引力,它還旨在減少OpenJDK和Oracle JDK構建之間的差異。
9. 將JDK生態整合單個存儲庫(JEP 296)
此JEP的主要目標是執行一些內存管理,并將JDK生態的眾多存儲庫組合到一個存儲庫中。
10. 刪除工具javah(JEP 313)
從JDK中移除了javah工具,這個很簡單并且很重要。
Java 10嘗鮮
就像所有其他JDK版本一樣,Oracle已經發布了一個Java 10初始候選版本,Java開發者可以下載此版本用來測試新功能。如果你對Java 10抱有期待想提早嘗試,那么現在就開始吧!
嘗鮮地址:http://openjdk.java.net/projects/jdk/10/
以上是“Java 10的新特性有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。