色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Java 9特性

瀏覽:48日期:2022-09-06 13:35:27

Oracle已經(jīng)公布,Java9首個增強(qiáng)計劃集(眾所周知的JEPs),已經(jīng)確定會在2016年早些時候發(fā)布。

Java 9特性

三個新的API已經(jīng)公布:

Process API在更新后能夠與操作系統(tǒng)中非JAVA相關(guān)的進(jìn)程互動,目前使用的API存在諸多限制,這迫使開發(fā)人員經(jīng)常求助于本地代碼。這個API存在的主要風(fēng)險是操作系統(tǒng)的異構(gòu)性,尤其是Windows。該API的設(shè)計需要適應(yīng)在不同的操作系統(tǒng)上的小型設(shè)備的部署工作,它還應(yīng)該考慮多個Java虛擬機(jī)運(yùn)行在同一個操作系統(tǒng)進(jìn)程的環(huán)境。這些考量將帶來一個更為抽象的API,這會增加設(shè)計的工作量。

新的HTTP客戶端,引入了對HTTP/2的支持。

現(xiàn)有API的問題及實現(xiàn):

基于URLConnection的API是考慮到多種協(xié)議而設(shè)計的,其中很多都已經(jīng)被廢棄了(ftp, gopher等)早先的HTTP 1.1過于抽象難以使用(許多行為都沒有文檔化)只能以阻塞模式工作(每個請求/響應(yīng)對應(yīng)一個線程)非常難以維護(hù)

Https 2.0支持依賴于TLS ALPN (Application Layer Negotiation Extension),目前JDK中并不支持,Http 2.0規(guī)范本身還處于互聯(lián)網(wǎng)草案的形式,但在2014年它有望成為一個正式草案。

新的輕量級JSON API:它提供了一個輕量級的API用來處理和生成JSON文檔以及數(shù)據(jù)流,后者是基于已經(jīng)標(biāo)準(zhǔn)化的JSON支持,它是JSR 353的一部分。

還有三個JVM和性能相關(guān)的特性公布:

改進(jìn)競爭鎖,旨在改進(jìn)當(dāng)線程競爭訪問對象時的性能。改進(jìn)競爭鎖對現(xiàn)實世界中的應(yīng)用程序大有裨益,尤其是針對工業(yè)基準(zhǔn),如Volano和DaCapo。

這項工程將在以下與競爭Java監(jiān)視器相關(guān)的領(lǐng)域,探索性能改進(jìn):

字段重排序(Field reordering)和緩存線對齊(cache line alignment)加速PlatformEvent::unpark()快速的Java監(jiān)視器操作進(jìn)入操作快速的Java監(jiān)視器退出操作快速的Java監(jiān)視器notify/notifyAll操作自適應(yīng)的spin改進(jìn)以及SPARC上的SpinPause

分割JIT編譯器的代碼緩存(在大型應(yīng)用程序上獲得更好的JIT性能)。將代碼緩存分解為獨立的段,每個段都包含特定形式的編譯代碼,目的是為了改善性能,并支持未來擴(kuò)展。

編譯代碼的組織和維護(hù)會對性能造成巨大影響,如果代碼緩存走錯了方向,若干方面的性能退化實例將會獲悉。在引入多層編譯后,代碼緩存的地位變得極其重要,因為編譯代碼的數(shù)量比起不使用多層編譯,會有2-4倍的增長。多層編譯也引入了一個新的編譯代碼類型:instrumented編譯代碼 (異型代碼)。異形代碼具備與非異形代碼不同的屬性,其中一個重要區(qū)別是,異形代碼有一個預(yù)定義的限制性生命周期,與此相反,非異形代碼永遠(yuǎn)都會保留在代碼緩存中。

現(xiàn)存的代碼緩存是針對單一代碼優(yōu)化的,即只有一種形式的編譯代碼。代碼緩存被組織為一個獨立的堆數(shù)據(jù)結(jié)構(gòu),位于一個連續(xù)的內(nèi)存塊頭部。因此,具有預(yù)定義的限制性生命周期的異形代碼將與非異形代碼混合,并永久保留在代碼緩存中,這會帶來不用的性能和設(shè)計問題。比如說,sweeper方法在掃描時將被迫掃描整個代碼緩存,即使其中一些實體從未更新,或存在非方法的代碼。

“智慧的”Java編譯器的深入開發(fā),稱之為sjavac,它支持并行和共享編譯,還包含一些其他特性。

由于存在各類關(guān)于穩(wěn)定性和可移植性的問題,sjavac在默認(rèn)情況下并沒有在JDK構(gòu)建腳本中使用,這項JEP的首個目標(biāo)是解決這些問題,這牽扯到必須確保工具能始終在所有的軟硬件配置上產(chǎn)生可靠的結(jié)果。

總體目標(biāo)是要改善sjavac的質(zhì)量,使其成為一個通用的javac封裝,有能力編譯各種大型Java項目。

后續(xù)項目將繼續(xù)探索如何在JDK工具鏈中將sjavac分離出來,如果可以的話。sjavac可能會成為一個獨立支持的工具,或是與javac集成的非獨立工具,或是其他。

最后,一個誘人的特性已經(jīng)在JEP 201中得到了承諾:模塊化源碼。這其實就是曾經(jīng)我們熟知的模塊化解決方案“Jigsaw項目”(最初目標(biāo)是Java 8的一部分)。

Jigsaw項目旨在為Java SE平臺設(shè)計和實現(xiàn)一套標(biāo)準(zhǔn)化的模塊系統(tǒng),并應(yīng)用于自身平臺中,繼而投入到JDK中。其最初的目標(biāo)是使平臺實現(xiàn)更容易擴(kuò)展到小型設(shè)備上,改善安全性和可維護(hù)性,改善應(yīng)用程序性能,并提供給開發(fā)人員在面對大型應(yīng)用時一種更好的工具。

這項JEP是Jigsaw項目的第一階段的一部分,接下來JEP會將JRE和JDK的鏡像模塊化,之后再引入一個模塊系統(tǒng)。

在早期對源代碼進(jìn)行重新組織的動機(jī)是:

讓JDK開發(fā)人員有機(jī)會熟悉系統(tǒng)的模塊化結(jié)構(gòu)。通過在構(gòu)建中強(qiáng)制模塊邊界,繼續(xù)推進(jìn)結(jié)構(gòu),這甚至?xí)l(fā)生在引入模塊系統(tǒng)之前。對Jigsaw項目進(jìn)行深入開發(fā),而不是總是“慢吞吞地”將現(xiàn)有的非模塊化代碼轉(zhuǎn)化為模塊化代碼。

原文鏈接: devamanthrills 翻譯:ImportNew

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲视频三级 | 五月久久亚洲七七综合中文网 | 在线亚洲播放 | 免费一级特黄3大片视频 | 无限资源中文免费 | 九草在线播放 | 日产一区两区三区 | 国产精彩视频在线 | 久久福利青草狠狠午夜 | 91久久| 久久综合久久美利坚合众国 | 国产高清第一页 | 日韩乱码中文字幕视频 | 久久国产精品免费一区二区三区 | 免费永久国产在线视频 | a级国产乱理伦片在线观看 a级国产乱理伦片在线观看99 | 欧美性巨大欧美 | 欧美一级毛片高清免费观看 | 一级做a爱久久久久久久 | 国产色爽女小说免费看 | 性色a v 一区 | 男女视频在线免费观看 | 中文字幕最新中文字幕中文字幕 | 久久一区二区精品综合 | 久久精品国产一区二区三区日韩 | 91精品国产综合成人 | 日本三级在线观看中文字 | 久久成人小视频 | 99免费在线播放99久久免费 | 国产91丝袜在线播放九色 | 日本人成18在线播放 | 免费观看一级特黄欧美大片 | 日韩毛片久久91 | 国产精品永久免费自在线观看 | 日日摸日日碰夜夜爽久久 | 人成精品视频三区二区一区 | 欧美ppp| 91香蕉成人免费高清网站 | 国产成人精品久久一区二区三区 | 97视频在线观看免费视频 | 日韩99在线 |