- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Java 10的新特性有哪些
這篇文章主要為大家展示了“Java 10的新特性有哪些”,內容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“Java 10的新特性有哪些”這篇文章吧。
Java 10的新特性
說(shuō)了這么多,看Java 10都會(huì )有哪些特性來(lái)改變我們寫(xiě)代碼的方式呢?!
1. 局部變量類(lèi)型推斷
局部變量類(lèi)型推斷可以說(shuō)是Java 10中最值得注意的特性,這是Java語(yǔ)言開(kāi)發(fā)人員為了簡(jiǎn)化Java應用程序的編寫(xiě)而采取的又一步,如下圖所示。
這個(gè)新功能將為Java增加一些語(yǔ)法糖 - 簡(jiǎn)化它并改善開(kāi)發(fā)者體驗。新的語(yǔ)法將減少與編寫(xiě)Java相關(guān)的冗長(cháng)度,同時(shí)保持對靜態(tài)類(lèi)型安全性的承諾。
局部變量類(lèi)型推斷將引入"var"關(guān)鍵字,也就是你可以隨意定義變量而不必指定變量的類(lèi)型,如:
將被下面這個(gè)新語(yǔ)法所取代:
看完是不是有點(diǎn)JS的即視感???越來(lái)越像JS了嗎?!雖然類(lèi)型推斷在Java中不是一個(gè)新概念,但在局部變量中確是很大的一個(gè)改進(jìn)。
說(shuō)到類(lèi)型推斷,從JDK 5引進(jìn)泛型,到JDK 7的"<>"操作符允許不綁定類(lèi)型而初始化List,再到JDK 8的Lambda表達式,再到現在JDK 10的局部變量類(lèi)型推斷,Java類(lèi)型推斷正大刀闊斧的向前發(fā)展。
局部變量類(lèi)型推薦僅限于如下使用場(chǎng)景:
局部變量初始化for循環(huán)內部索引變量傳統的for循環(huán)聲明變量Java官方表示,它不能用于以下幾個(gè)地方:
方法參數構造函數參數方法返回類(lèi)型字段捕獲表達式(或任何其他類(lèi)型的變量聲明)
2. GC改進(jìn)和內存管理
JDK 10中有2個(gè)JEP專(zhuān)門(mén)用于改進(jìn)當前的垃圾收集元素。
第一個(gè)垃圾收集器接口是(JEP 304),它將引入一個(gè)純凈的垃圾收集器接口,以幫助改進(jìn)不同垃圾收集器的源代碼隔離。
預定用于Java 10的第二個(gè)JEP是針對G1的并行完全GC(JEP 307),其重點(diǎn)在于通過(guò)完全GC并行來(lái)改善G1最壞情況的等待時(shí)間。G1是Java 9中的默認GC,并且此JEP的目標是使G1平行。
3. 線(xiàn)程本地握手(JEP 312)
JDK 10將引入一種在線(xiàn)程上執行回調的新方法,因此這將會(huì )很方便能停止單個(gè)線(xiàn)程而不是停止全部線(xiàn)程或者一個(gè)都不停。
4. 備用內存設備上的堆分配(JEP 316)
允許HotSpot VM在備用內存設備上分配Java對象堆內存,該內存設備將由用戶(hù)指定。
5. 其他Unicode語(yǔ)言 - 標記擴展(JEP 314)
目標是增強java.util.Locale及其相關(guān)的API,以便實(shí)現語(yǔ)言標記語(yǔ)法的其他Unicode擴展(BCP 47)。
6. 基于Java的實(shí)驗性JIT編譯器
Oracle希望將其Java JIT編譯器Graal用作Linux / x64平臺上的實(shí)驗性JIT編譯器。
7. 根ssl/' target='_blank'>證書(shū)(JEP 319)
這個(gè)的目標是在Oracle的Java SE中開(kāi)源根證書(shū)。
8. 根證書(shū)頒發(fā)認證
這將使OpenJDK對開(kāi)發(fā)人員更具吸引力,它還旨在減少OpenJDK和Oracle JDK構建之間的差異。
9. 將JDK生態(tài)整合單個(gè)存儲庫(JEP 296)
此JEP的主要目標是執行一些內存管理,并將JDK生態(tài)的眾多存儲庫組合到一個(gè)存儲庫中。
10. 刪除工具javah(JEP 313)
從JDK中移除了javah工具,這個(gè)很簡(jiǎn)單并且很重要。
Java 10嘗鮮
就像所有其他JDK版本一樣,Oracle已經(jīng)發(fā)布了一個(gè)Java 10初始候選版本,Java開(kāi)發(fā)者可以下載此版本用來(lái)測試新功能。如果你對Java 10抱有期待想提早嘗試,那么現在就開(kāi)始吧!
嘗鮮地址:http://openjdk.java.net/projects/jdk/10/
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站