《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模拟设计 > 业界动态 > Java 10无跳票发布 主推的新特性引争议

Java 10无跳票发布 主推的新特性引争议

2018-04-02
關(guān)鍵詞: Java9 代码仓库 数据共享 内存

相信對于Java 9的頻繁跳票,很多人還心有余悸。雖然Java 10的推出時間,Oracle曾親自背書不會跳票,但是這按時推出的風(fēng)格還是讓我們有些適應(yīng)不良。

Java 10的發(fā)布雖然與Java 9相隔只有半年時間,但是更新的內(nèi)容卻很豐富,共計提供了109項新功能的支持。其中包括12項關(guān)鍵的新特性:

1522396555455069608.jpg

·局部變量的類型推斷;

·將 JDK 的多個代碼倉庫合并到一個儲存庫中;

·垃圾收集器接口,通過引入一個干凈的垃圾收集器(GC)接口,改善不同垃圾收集器的源碼隔離性;

·向 G1 引入并行 Full GC;

·應(yīng)用類數(shù)據(jù)共享,為改善啟動和占用空間,在現(xiàn)有的類數(shù)據(jù)共享(“CDS”)功能上再次拓展,以允許應(yīng)用類放置在共享存檔中;

·線程局部管控,允許停止單個線程,而不是只能啟用或停止所有線程;

·移除 Native-Header Generation Tool (javah);

·額外的 Unicode 語言標簽擴展。包括:cu (貨幣類型)、fw (每周第一天為星期幾)、rg (區(qū)域覆蓋)、tz (時區(qū)) 等;

·在備用內(nèi)存設(shè)備上分配堆內(nèi)存,允許 HotSpot 虛擬機在備用內(nèi)存設(shè)備上分配 Java 對象堆;

·基于 Java 的 JIT 編譯器(試驗版本);

·根證書,開源 Java SE Root CA 程序中的根證書;

·基于時間的版本發(fā)布模式,“Feature releases” 版本將包含新特性,“Update releases” 版本僅修復(fù) Bug。

千呼萬喚始出來的局部變量的類型推斷

如果要說這次Java 10更新中有哪個功能是最受矚目的?那么,一定非“局部變量的類型推斷”莫屬。在發(fā)布之前,Java 10發(fā)布方在網(wǎng)上共計進行了2輪,超2500名使用者的意見征集。最后結(jié)果顯示,有74%的使用者強烈支持這個功能的發(fā)布,12%僅表示了支持,10%的人認為這個功能并不是個好主意。

“局部變量的類型推斷”功能意味著未來開發(fā)者可以在 Java 10 中引入其他編程語言中常見的var,但需要注意,var不能成為一個關(guān)鍵字,而是一個保留字。開發(fā)者可以寫這樣的代碼:var list=new ArrayList<String>(),編輯器可以自動推測出list的類型。

雖然這個功能在寫代碼的時候給我們帶來了便利,但是也有網(wǎng)友針對該功能提出一些異議:

網(wǎng)友1:個人以為,var的引入,在讀源碼的角度上講是災(zāi)難性的!尤其是對我這種大腦內(nèi)部堆棧比較淺的人來說。

網(wǎng)友2:真的要這么搞?用var的確可以在寫代碼的時候提升一點效率,可是讀代碼呢??我以后是不是要養(yǎng)成從右往左讀的習(xí)慣?

網(wǎng)友3:var的功能很雞肋啊

當(dāng)然也有網(wǎng)友稱這個功能在其他語言那里早已得到了實現(xiàn),并已被證實是優(yōu)良的語言特性,Java使用者不必太過保守了,糾結(jié)會影響閱讀代碼。還有網(wǎng)友稱,“我就不懂了 這些在C#里不是事的功能被java天天拿著吹”。

Java 10有多少人在使用?Java 8和Java 9你舍得拋棄嗎?

2017 年Oracle宣布,Java 語言將每隔 6 個月提供一次更新,而Java 10作為首個大版本對于開發(fā)者的吸引力如何?JAXenter對于眾多的Java用戶進行了調(diào)查,并收到了近300個反饋。

  

1522396555475063670.png

根據(jù)反饋結(jié)果顯示,大部分開發(fā)者(82%)還在使用Java 8,8%的用戶在使用Java 9,還有7%的用戶在使用Java 7。當(dāng)然,這也并不能說明Java 9不好,畢竟一個新事物的出現(xiàn)總要給使用者留出足夠的時間。OpenJDK董事會主席兼Oracle Java平臺小組開發(fā)副總裁Georges Saab 曾表示:Java 9的增長速度雖然不如Java 8,但是與其他版本并無差異。

“你是否會拋棄Java 8或Java 9,奔向Java 10呢?”對此,很多網(wǎng)友也給出了自己的意見。Markus Eisele稱,我已經(jīng)使用了一段時間測試版了,我希望大家也能夠盡快上手,畢竟發(fā)現(xiàn)bug也是一件造福開發(fā)者和社區(qū)的事情。大多數(shù)程序員的想法是個人項目會考慮遷移到Java 10上,但是客戶和企業(yè)項目在短時間內(nèi)不會遷移到Java 10上。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容