精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Java 10新特性前瞻

責任編輯:editor005

作者:Ben Evans

2017-11-23 11:28:44

摘自:INFOQ

從Java 9發布到現在已經過去兩個月了,根據最新的發布計劃,距離下一個Java版本發布只有四個月時間。比較有意思的變更或許是JEP 286,增強的本地變量類型推斷可以讓開發者免去很多變量申明模板代碼。

從Java 9發布到現在已經過去兩個月了,根據最新的發布計劃,距離下一個Java版本發布只有四個月時間。Java 10的新特性還在確認當中,所以從現在到GA版中間還是有可能加入重大的變更。不管怎樣,在這四個月里,開發者還是可以期待一些新的特性能夠被添加到Java 10中。

新的特性和增強一般通過Java Enhancement Process(JEP)或Java Community Process標準請求(JSR)進行跟蹤。因為Java 10的時間線較短,范圍也相對較小,所以Java 10的變更將通過JEP進行跟蹤。

有望被包含在Java 10中的特性是那些已經處于Targeted或Proposed狀態的JEP,它們包括:

286:本地變量類型推斷296:統一JDK倉庫304:垃圾回收器接口307:G1的并行Full GC310:應用程序類數據共享312:ThreadLocal握手機制

JEP 296是一次純粹的清理工作,而JEP 304加強了不同垃圾回收器的代碼隔離,并為垃圾回收器引入更簡潔的接口。

JEP 304意味著廠商可以更自由地選擇特定的GC算法來構建JDK,因為現在有多種處于開發當中的GC,如Shenandoah、ZGC和Epsilon,在未來可以使用這些GC算法。社區也在努力棄用甚至移除Concurrent Mark Sweep(CMS)垃圾回收器,只是目前還沒有可用的替代品。

比較有意思的變更或許是JEP 286,增強的本地變量類型推斷可以讓開發者免去很多變量申明模板代碼。也就是說,在下一個版本中,下面的變量聲明是合法的:

var list = new ArrayList; // infers ArrayListvar stream = list.stream(); // infers Stream

這種語法只限于初始化過的本地變量和for循環中的本地變量。

它其實是個語法糖,在語義上并沒有任何變化。不過,該特性有可能在Java開發者當中引起熱議。

其他三個變更都將在性能方面帶來一些影響。

JEP 307解決了G1垃圾回收器的一個問題——截止到Java 9,G1的Full GC采用的是單線程算法。也就是說,G1在發生Full GC時會嚴重影響性能。JEP 307的目的就是要采用并行GC算法,在發生Full GC時可以使用多個線程進行并行回收。

JEP 310對類數據共享(CDS)進行了擴展,JVM可以將一些類記錄到一個共享的壓縮文件里,在JVM下一次啟動時可以將這個文件映射到JVM進程,以此來減少啟動時間。該文件也可以在多個JVM間共享,在同一個機器上運行多個JVM時,這樣做可以減少內存占用。

該功能在Java 5中就已存在,但截止到Java 9,該功能只允許bootstrap類加載器加載壓縮的類。JEP 310的目的是擴展該功能,讓應用程序和自定義類加載器也能加載壓縮的類。該特性目前僅在Oracle JDK中可用,OpenJDK并不包含該特性。

JEP計劃將該特性從Oracle私有倉庫中遷移到公共倉庫,從Java 10往后,常規版本(非LTS)將會使用OpenJDK的二進制包。此舉表明有用戶正在使用該特性,所以需要在OpenJDK中也支持該特性。

JEP 312旨在改進虛擬機性能,在應用程序線程上調用回調不再需要執行全局虛擬機安全點操作,這意味著JVM可以停止單個線程。一些底層小改進包括:

降低堆棧跟蹤取樣所帶來的影響(如進行profiling)。減少信號依賴以獲得更好的堆棧取樣。通過停止單獨線程改進偏向鎖。從JVM移除了一些內存屏障。

從整體來看,Java 10似乎并沒有包含重大新特性或性能改進。這是可以理解的,畢竟這是新發布周期下的第一個版本。

查看英文原文:Java 10 - The Story So Far

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 平武县| 邯郸市| 昔阳县| 澄迈县| 天祝| 永丰县| 新竹市| 房产| 苍梧县| 泰州市| 自贡市| 井冈山市| 乐昌市| 固安县| 梁山县| 禄丰县| 莲花县| 九龙县| 北安市| 兴国县| 六盘水市| 台东市| 墨竹工卡县| 宜城市| 上蔡县| 龙海市| 古田县| 襄垣县| 榕江县| 龙川县| 崇明县| 江孜县| 南华县| 巩义市| 曲阳县| 哈尔滨市| 喀什市| 济南市| 临沭县| 南城县| 仙游县|