在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>java源碼下載>

Java 9的新特性詳解

大小:0.3 MB 人氣: 2017-09-28 需要積分:1

  JDK 9的Java平臺模塊系統(tǒng)

  Java 9最寶貴的特性,即模塊化——以Java平臺模塊系統(tǒng)的形式——旨在將JDK分為運(yùn)行、編譯或構(gòu)建時(shí)的一組模塊。模塊化被稱為“可傳遞”的變化,這可以更好地理解跨模塊的依賴關(guān)系。

  Java 9的模塊化方面包括應(yīng)用程序打包、模塊化JDK以及將源代碼重新組織到模塊中。在構(gòu)建時(shí),構(gòu)建系統(tǒng)將強(qiáng)化編譯模塊并加強(qiáng)模塊邊界。JDK和Java運(yùn)行環(huán)境(JRE)的鏡像將被重構(gòu),以此來處理模塊。同時(shí),JavaFX UI控件和CSS API也將被模塊化。

  JDK 9將支持許多配置,可伸縮性、安全性和應(yīng)用程序性能也會得到改進(jìn)。將Java簡化為小型設(shè)備是模塊化工作的關(guān)鍵。Java平臺模塊系統(tǒng),是Jigsaw項(xiàng)目的一個(gè)組件,也將被實(shí)現(xiàn)。

  通過模塊化,開發(fā)人員能夠更好地為Java SE(標(biāo)準(zhǔn)版)和EE(企業(yè)版)構(gòu)建和維護(hù)大型應(yīng)用程序。但Oracle、IBM、Red Hat和其他公司關(guān)于如何在平臺上做出徹底改變的問題上存在分歧。該模塊系統(tǒng)在5月曾被否定,但在6月進(jìn)行了第二次投票后,才獲得批準(zhǔn)。

  關(guān)于模塊化是否會對Java開發(fā)人員有著很大的好處,還存在爭議,一些專家表示贊成,而另一些專家則不贊同。但不管怎樣,Oracle一直在努力實(shí)現(xiàn)模塊化平臺。

  為了實(shí)現(xiàn)模塊化,已經(jīng)多次延遲了Java 9的發(fā)布,因?yàn)镺racle一直在嘗試更簡單地遷移到Java 9,并且計(jì)劃允許對類路徑上的代碼進(jìn)行非法的反向訪問,同時(shí)JRE會使用它來搜索類和資源文件。此功能將在Java 9之后被禁用。

  在Java 9的JDK中編譯

  Java 9為編譯代碼提供了幾種新功能,其中最主要的功能是提前編譯。這個(gè)功能仍然處于實(shí)驗(yàn)階段,此功能允許在虛擬機(jī)啟動之前將Java類編譯為本機(jī)代碼。該特性旨在提高小型和大型應(yīng)用程序的啟動時(shí)間,同時(shí)對峰值性能幾乎沒有影響。

  即時(shí)(JIT)編譯器速度很快,但是Java程序已經(jīng)變得如此之大,以至于JIT需要很長時(shí)間才能完全啟動,這使得一些Java方法無法編譯,性能也越來越弱。提前進(jìn)行編譯是為了解決這些問題。

  但Java技術(shù)供應(yīng)商Excelsior的市場總監(jiān)Dmitry Leskov擔(dān)心,這種時(shí)間上的編譯技術(shù)還不夠成熟,并希望Oracle能在Java 10后再推出更可靠的版本。

  Java 9還實(shí)現(xiàn)了Oracle智能編譯部署的第二階段。這個(gè)特性包括改進(jìn)javac工具的穩(wěn)定性和可移植性,以便在JVM(Java虛擬機(jī))能默認(rèn)使用它。該工具也將被推廣,因此它可以用于JDK之外的大型項(xiàng)目。

  另一個(gè)新的實(shí)驗(yàn),編譯特性是java級別的JVM編譯器接口(JVMCI)。這個(gè)接口允許用Java編寫的編譯器被JVM用作動態(tài)編譯器。JVMCI的API提供了訪問VM結(jié)構(gòu)、安裝編譯代碼和插入JVM編譯系統(tǒng)的機(jī)制。

  用Java編寫的JVM編譯器應(yīng)該需要一個(gè)高質(zhì)量的編譯器,它比用C或c++編寫的現(xiàn)有編譯器更容易維護(hù)和改進(jìn)。另外,現(xiàn)有支持Java編譯器的項(xiàng)目有Graal和Metropolis。

  新的編譯器控制功能旨在控制JVM編譯器的細(xì)粒度和方法依賴,讓開發(fā)人員在運(yùn)行時(shí)更改編譯器控制選項(xiàng),而又不會造成性能下降。該工具還可以為JVM編譯器錯(cuò)誤提供工作區(qū)。

  Java 9的JDK還將更新javac編譯器,這樣它就可以編譯Java 9程序,以運(yùn)行在一些Java的舊版本上。

  Java 9實(shí)現(xiàn)了REPL

  Java 9將會有一個(gè)read-eval-print loop(REPL)工具——這是Java的另一個(gè)長期目標(biāo),經(jīng)過多年的Kulia項(xiàng)目開發(fā)之后,在這個(gè)版本中它將變得真實(shí)。

  Java 9的REPL被稱為jShell,它交互式地評估聲明語句和表達(dá)式。開發(fā)人員只需輸入一些代碼,就可以在編譯之前獲得對程序的反饋。

  命令行工具的功能包括結(jié)束標(biāo)簽和自動添加所需的終端分號。jShell API允許在IDE和其他工具中使用jShell功能,盡管工具本身并不是IDE。

  人們認(rèn)為,缺乏REPL工具是院校越來越不愿授課Java的一個(gè)原因(Python和Scala等語言早就有REPL了)。Scala語言的創(chuàng)始人Martin Odersky質(zhì)疑Java的REPL的實(shí)用性,他說Java是面向語句的,而REPL是面向表達(dá)式的。

  JDK 9中實(shí)行代碼緩存分段

  JDK 9允許將代碼緩存分成幾個(gè)部分,以提高性能,并允許擴(kuò)展(比如細(xì)粒度的鎖)。由于專門的迭代器會跳過非方法代碼,所以掃描時(shí)間需要被提高。分離非方法、異形和非異形碼,提高一些基準(zhǔn)測試的執(zhí)行時(shí)間。

  Java 9支持更多的標(biāo)準(zhǔn)

  Java 9增加了對幾個(gè)標(biāo)準(zhǔn)的支持。

  新的HTTP/2 client API實(shí)現(xiàn)了HTTP/2協(xié)議,同時(shí)升級到Web的核心HTTP協(xié)議和WebSocket協(xié)議,基于瀏覽器的交互式通信。新的API可以替代HttpURLConnection API,HttpURLConnection API的問題是它包含已經(jīng)失效的協(xié)議predating HTTP/1,這個(gè)太抽象,很難使用。但是,在JDK 9發(fā)布時(shí),新的HTTP/2 API仍然處于beta測試階段。

  JDK 9還增加了對HTML5的支持。Javadoc API文檔工具功能已經(jīng)被增強(qiáng),可以生成HTML5標(biāo)記。

  Java 9還將支持Unicode 8.0編碼標(biāo)準(zhǔn),該標(biāo)準(zhǔn)增加了8000個(gè)字符、10個(gè)模塊和6個(gè)腳本。

  對于安全性,Java 9為DTLS(數(shù)據(jù)包傳輸層安全性協(xié)議)添加了一個(gè)API。該協(xié)議的設(shè)計(jì)目的是防止在client/server通信中出現(xiàn)竊聽、篡改和消息偽造,這將為客戶端和服務(wù)器模式提供一個(gè)安全模式。

  JDK 9獲得了更多的Java支持(Nashorn項(xiàng)目)

  Nashorn項(xiàng)目是為了能讓Java在Java上進(jìn)行高性能且輕量級的運(yùn)行,這是在Rhino項(xiàng)目后的Netscape開始進(jìn)行的。Nashorn項(xiàng)目負(fù)責(zé)在Java應(yīng)用程序中嵌入Java。其實(shí)在JDK 8中已經(jīng)為Java提供了一個(gè)Java引擎。

  JDK 9將包括一個(gè)用于ECMA語法樹的解析器API。API將通過IDE和服務(wù)器框架實(shí)現(xiàn)ECMA代碼分析,而不依賴于Nashorn項(xiàng)目的內(nèi)部實(shí)現(xiàn)類。

  Java 9棄用和移除了哪些功能

  Java 9棄用和移除一些不再流行的特性。其中最主要的是Applet API,它將被棄用?,F(xiàn)在,安全瀏覽器已經(jīng)取消了對Java瀏覽器插件的支持,因?yàn)檫@些已經(jīng)過時(shí)了,HTML5的出現(xiàn)也加速了它們的滅亡。開發(fā)人員將轉(zhuǎn)向到諸如Java Web Start這樣的替代方案,用于在瀏覽器中啟動應(yīng)用程序或者安裝應(yīng)用程序。同時(shí),appletviewer工具也被棄用了。

  Java 9將棄用Concurrent Mark Sweep (CMS)垃圾收集器,并在未來的版本中停止支持它。其目的是加速在HotSpot虛擬機(jī)中的其他垃圾收集器的開發(fā)。低暫停G1垃圾收集器將是CMS的長期替代品。

  與此同時(shí),JDK 8中被棄用的垃圾收集組合將在JDK 9中刪除。這之中包括很少使用的組合,如增量CMS、ParNew + SerialOld和DefNew + CMS,因?yàn)樗鼈冊黾恿死占鞔a庫的額外復(fù)雜度。

  Java 9還將對import語句進(jìn)行省略Java警告,以幫助大型代碼庫清除lint警告。在這些代碼庫中,對被棄用的功能,還會支持一段時(shí)間,而且如果是有目的地要使用一個(gè)被棄用的構(gòu)造,那么導(dǎo)入棄用的構(gòu)造就不需要發(fā)出警告消息。

  在啟動時(shí)通過多個(gè)JRE(mJRE)特性選擇JRE的功能也被棄用。這種功能很少被使用,因?yàn)檫@會使Java啟動器的實(shí)現(xiàn)變得更加復(fù)雜,并且在JDK 5中首次出現(xiàn)時(shí),它從未被完全地實(shí)現(xiàn)。

  Oracle正在刪除JVM TI(工具接口)hprof(堆分析)代理,它已被JVM取代。jhat工具也被刪除了,它已經(jīng)被高級的堆可視化工具和分析器淘汰了。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 欧美色图日韩 | 婷婷亚洲综合一区二区 | 天堂电影在线观看免费入口 | 黄视频网站免费 | 香蕉视频啪啪 | 亚洲国产欧美在线成人aaaa | 506rr亚洲欧美 | 爱爱免费 | 久久精品.com | ts国产| 一区二区三区高清 | 亚洲毛片基地4455ww | 毛片你懂的 | 欧美高清一区二区三 | 欧美一区二区三区高清视频 | 日韩精品亚洲一级在线观看 | 欧美成人天天综合天天在线 | 成人性色生活片免费看爆迷你毛片 | 色老头久久久久久久久久 | 成人99国产精品一级毛片 | 四虎影视在线播放 | 91大神亚洲影视在线 | 色偷偷人人 | 中日韩精品视频在线观看 | 欧美五月激情 | 国产热 | aa在线观看 | 2018天天拍拍拍免费视频 | 咪咪爱毛片 | 欧美一级免费 | 亚洲免费视频播放 | 综合网天天 | 国产黄色在线视频 | 国产精品臀控福利在线观看 | 1000又爽又黄禁片 | 久久久久久免费播放一级毛片 | 亚洲第一免费视频 | 国产高清视频在线播放www色 | 清冷双性被cao的合不拢腿 | 女人张开腿给男人桶爽免费 | 日本人69xxxxxxx69|