成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java 9的JDK中值得期待的:不僅是模塊化

開發 后端
在本文中,作者介紹了即將在9.21發布的Java 9新特性,除了最重要的模塊化以外,還涉及到編譯,工具,協議,緩存等新特點,也提及了在此次版本中移除的功能,供Java愛好者閱讀和參考。

【譯者注】在本文中,作者介紹了即將在9.21發布的Java 9新特性,除了最重要的模塊化以外,還涉及到編譯,工具,協議,緩存等新特點,也提及了在此次版本中移除的功能,供Java愛好者閱讀和參考。

以下為譯文:

[[203002]]

在多次延期后,Java 9將于9月21日以Java開發工具包9的形式出現,這是自2014年3月以來,Java標準版的第一次重大升級。官方列出了JDK 9的大約90個新特性,模塊化是最主要的一個。將Java重新配置成模塊化格式,這項任務已經持續了多年,但在編譯、代碼緩存和JavaScript部署等領域也會有其他改進。

JDK 9的Java平臺模塊系統

Java 9最寶貴的特性,即模塊化——以Java平臺模塊系統的形式——旨在將JDK分為運行、編譯或構建時的一組模塊。模塊化被稱為“可傳遞”的變化,這可以更好地理解跨模塊的依賴關系。

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

JDK 9將支持許多配置,可伸縮性、安全性和應用程序性能也會得到改進。將Java簡化為小型設備是模塊化工作的關鍵。Java平臺模塊系統,是 Jigsaw項目 的一個組件,也將被實現。

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

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

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

在Java 9的JDK中編譯

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

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

但Java技術供應商Excelsior的市場總監Dmitry Leskov擔心,這種時間上的編譯技術還不夠成熟,并希望Oracle能在Java 10后再推出更可靠的版本。

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

另一個新的實驗,編譯特性是java級別的JVM編譯器接口(JVMCI)。這個接口允許用Java編寫的編譯器被JVM用作動態編譯器。JVMCI的API提供了訪問VM結構、安裝編譯代碼和插入JVM編譯系統的機制。

用Java編寫的JVM編譯器應該需要一個高質量的編譯器,它比用C或c++編寫的現有編譯器更容易維護和改進。另外,現有支持Java編譯器的項目有 Graal 和 Metropolis 。

新的編譯器控制功能旨在控制JVM編譯器的細粒度和方法依賴,讓開發人員在運行時更改編譯器控制選項,而又不會造成性能下降。該工具還可以為JVM編譯器錯誤提供工作區。

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

Java 9實現了REPL

Java 9將會有一個read-eval-print loop(REPL)工具——這是Java的另一個長期目標,經過多年的Kulia項目開發之后,在這個版本中它將變得真實。

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

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

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

JDK 9中實行代碼緩存分段

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

Java 9支持更多的標準

Java 9增加了對幾個標準的支持。

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

JDK 9還增加了對 HTML5 的支持。Javadoc API文檔工具功能已經被增強,可以生成HTML5標記。

Java 9還將支持Unicode 8.0編碼標準,該標準增加了8000個字符、10個模塊和6個腳本。

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

JDK 9獲得了更多的JavaScript支持(Nashorn項目)

Nashorn項目 是為了能讓JavaScript在Java上進行高性能且輕量級的運行,這是在Rhino項目后的Netscape開始進行的。Nashorn項目負責在Java應用程序中嵌入JavaScript。其實在JDK 8中已經為Java提供了一個JavaScript引擎。

JDK 9將包括一個用于ECMAScript語法樹的解析器API。API將通過IDE和服務器框架實現ECMAScript代碼分析,而不依賴于Nashorn項目的內部實現類。

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

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

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

與此同時,JDK 8中被棄用的垃圾收集組合將在JDK 9中刪除。這之中包括很少使用的組合,如增量CMS、ParNew + SerialOld和DefNew + CMS,因為它們增加了垃圾收集器代碼庫的額外復雜度。

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

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

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

責任編輯:未麗燕 來源: ITeye
相關推薦

2022-12-21 17:17:24

2009-11-05 15:53:32

無線局域網

2019-11-06 11:31:26

刷臉支付支付寶互聯網

2011-08-04 11:02:51

交換機Nexus思科

2019-03-20 20:26:41

微隔離防火墻

2014-07-17 10:35:31

游戲引擎代碼工具

2024-09-19 13:04:41

2011-08-04 14:06:25

安全SOC安全運營

2012-03-12 16:14:51

憤怒的小鳥太空版

2018-01-01 07:04:33

程序員代碼文檔

2017-03-29 17:32:53

5G4G移動通信

2014-07-21 15:23:47

隱私泄露移動安全趨勢科技

2020-08-29 18:32:21

物聯網投資物聯網IOT

2017-07-18 14:44:01

互聯網智能中國智造

2018-03-21 21:31:28

Java9編程Java

2014-01-23 14:42:34

Windows 9

2019-07-10 15:10:14

高性能服務器架構

2009-11-20 10:35:06

AMD

2021-02-26 00:25:37

WiFi信號網絡

2021-02-24 19:18:54

WiFi人工智能技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天操天天天 | 麻豆av一区二区三区久久 | 国产一级黄色网 | 一区二区三区四区视频 | 成年人视频免费在线观看 | 亚洲精品免费在线观看 | 免费成人高清在线视频 | 欧美一区二区三区免费在线观看 | 久久精品a级毛片 | 久久久精品一区二区三区 | 亚洲精品一区二区网址 | 91视频亚洲 | 欧美成人一区二区三区 | 午夜影院 | 日韩欧美一区二区在线播放 | 国产第一区二区 | 韩日在线| 国产性生活一级片 | 亚洲小视频在线播放 | 欧洲性生活视频 | 久久精品国产99国产 | 懂色av色香蕉一区二区蜜桃 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 免费一区二区三区 | 久久精品国产久精国产 | 欧美亚洲激情 | 在线观看亚洲精品 | 黄网站在线观看 | 欧美精品在线视频 | 97精品久久 | 亚洲精品久久久一区二区三区 | 久久久www成人免费无遮挡大片 | 国产视频中文字幕 | 欧美美女爱爱 | 国产一区二区三区视频在线观看 | 在线成人 | 国产成人精品久久二区二区91 | 亚洲精品高清视频在线观看 | 一区二区三区四区五区在线视频 | 欧美成人精品二区三区99精品 | 国产高清在线 |