日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java 9中的5个功能将改变您开发软件的方式(还有2个不会)

發(fā)布時(shí)間:2023/12/3 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 9中的5个功能将改变您开发软件的方式(还有2个不会) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有望在Java 9中發(fā)布的最令人興奮的功能是什么?

不要對(duì)Java 9的相對(duì)沉默近來(lái)分散注意力。JDK提交者正在努力準(zhǔn)備下一個(gè)版本,該版本預(yù)計(jì)將在2015年12月完成,而功能將在幾個(gè)月后完成 。此后,它將通過(guò)嚴(yán)格的測(cè)試和錯(cuò)誤修復(fù)了將其計(jì)劃于2016年9月發(fā)布的一般可用性。

今天,我們對(duì)Java 9的功能有了一個(gè)清晰的了解。如果可以將Java 8描述為lambda,流和API更改的主要版本,那么Java 9完全是關(guān)于Jigsaw ,額外的實(shí)用程序和更改的內(nèi)容。 在這篇文章中,我們收集了一些我們認(rèn)為是針對(duì)Java 9的最令人興奮的功能–除了通常的懷疑之外,Jigsaw項(xiàng)目承擔(dān)了分解JRE并將Java核心組件引入模塊化的使命。 。

這里有一些Java 9必須絕對(duì)要了解的功能,其中一些已經(jīng)準(zhǔn)備好供您在早期發(fā)行版中使用 。

1. Java + REPL = jshell

是。 以前,我們對(duì)Kulla項(xiàng)目能否及時(shí)發(fā)布Java 9表示懷疑,但現(xiàn)在它是正式的。 Java的下一發(fā)行版將具有一個(gè)名為jshell的新命令行工具,該工具將添加本機(jī)支持并普及Java模式以實(shí)現(xiàn)REPL(Read-Eval-Print-Loop)。 舉例來(lái)說(shuō),這意味著如果您希望自己運(yùn)行幾行Java,則無(wú)需將其全部包裝在單獨(dú)的項(xiàng)目或方法中。 哦,分號(hào)–您可以忘記那些:

-> 2 + 2 | Expression value is: 4 | ? ? assigned to temporary variable $1 of type int

有一些替代方法,例如流行的IDE的REPL插件和Java REPL Web控制臺(tái)之類的解決方案,但是到目前為止,還沒有任何官方正確的方法。 jshell已在早期發(fā)行版中提供,并等待您對(duì)其進(jìn)行測(cè)試。

2.微基準(zhǔn)測(cè)試即將到來(lái)

Alexey Shipilev的Java Microbenchmarking Harness( JMH )正在邁向其發(fā)展的下一步,并加入Java作為官方基準(zhǔn)測(cè)試解決方案 。 我們真的很喜歡在塔基皮(Takipi) 進(jìn)行 基準(zhǔn)測(cè)試 ,因此我們希望能有一種標(biāo)準(zhǔn)化的基準(zhǔn)測(cè)試方法。

JMH是用于構(gòu)建,運(yùn)行和分析nano / micro / milli / macro基準(zhǔn)測(cè)試的Java工具。 當(dāng)涉及到準(zhǔn)確的基準(zhǔn)測(cè)試時(shí),諸如預(yù)熱時(shí)間和優(yōu)化之類的因素可能會(huì)對(duì)結(jié)果產(chǎn)生重大影響。 尤其是當(dāng)您下降到微秒和納秒時(shí)。 因此,如果您想獲得最準(zhǔn)確的結(jié)果來(lái)幫助您按照基準(zhǔn)測(cè)試做出正確的決定,那么今天的JMH是您的最佳選擇–現(xiàn)在,它已成為Java 9的代名詞。

3. G1將成為新的默認(rèn)垃圾收集器嗎?

我們經(jīng)常聽到的一個(gè)常見誤解是Java只有一個(gè)垃圾收集器,而實(shí)際上只有4個(gè) 。 對(duì)于Java 9,有一個(gè)正在運(yùn)行的建議仍在爭(zhēng)論中,以Java 7中引入的G1替換默認(rèn)的垃圾收集器(并行/吞吐量收集器)。有關(guān)不同收集器之間差異的概述,您可以查看這個(gè)職位在這里 。

通常,G1旨在更好地支持大于4GB的堆,并且已知會(huì)導(dǎo)致較少的GC暫停,但是當(dāng)出現(xiàn)暫停時(shí),它往往會(huì)更長(zhǎng)。 最近,我們已經(jīng)與Outbrain的性能負(fù)責(zé)人Haim Yadid討論了GC的所有方面,以幫助您進(jìn)一步了解收集器之間的不同權(quán)衡 。 另外,如果您想深入了解這場(chǎng)辯論,那么hotspot-dev和jdk9-dev郵件列表是一個(gè)不錯(cuò)的起點(diǎn)。

4. HTTP 2.0是未來(lái)

官方的HTTP 2.0 RFC是在Google的SPDY算法的基礎(chǔ)上于幾個(gè)月前獲得批準(zhǔn)的。 SPDY在HTTP 1.1上已顯示出極大的速度改進(jìn),范圍在11.81%到47.7%之間,并且其實(shí)現(xiàn)已存在于大多數(shù)現(xiàn)代瀏覽器中。

Java 9將完全支持 HTTP 2.0,并具有一個(gè)新的Java HTTP客戶端,它將取代HttpURLConnection,并實(shí)現(xiàn)HTTP 2.0和websocket。

5.流程API有了巨大的提升

到目前為止,使用Java控制和管理操作系統(tǒng)進(jìn)程的能力有限。 例如,為了執(zhí)行與在Java早期版本中獲取過(guò)程PID一樣簡(jiǎn)單的操作,您將需要訪問本機(jī)代碼或使用某種神奇的解決方法。 此外,每個(gè)平臺(tái)都需要不同的實(shí)現(xiàn)方式,以確保獲得正確的結(jié)果。

在Java 9中,期望用于檢索Linux PID的代碼現(xiàn)在看起來(lái)像這樣:

public static void main(String[] args) throws Exception {Process proc = Runtime.getRuntime().exec(new String[]{ "/bin/sh", "-c", "echo $PPID" });if (proc.waitFor() == 0){InputStream in = proc.getInputStream();int available = in.available();byte[] outputBytes = new byte[available];in.read(outputBytes);String pid = new String(outputBytes);System.out.println("Your pid is " + pid);} }

要變成這樣(也支持所有操作系統(tǒng)):

System.out.println(“您的pid是” + Process.getCurrentPid());

該更新將擴(kuò)展Java與操作系統(tǒng)交互的能力:處理PID,進(jìn)程名稱和狀態(tài)的新直接方法,以及枚舉JVM和進(jìn)程等的能力。

您在Java 9中看不到什么?

我們假定有兩個(gè)有趣的功能將成為即將發(fā)布的Java版本的一部分-但現(xiàn)在我們知道這次將跳過(guò)這些功能。

1.標(biāo)準(zhǔn)化的輕量級(jí)JSON API

在我們與350位開發(fā)人員進(jìn)行的一項(xiàng)調(diào)查中,JSON API像Jigsaw一樣被大肆宣傳,但由于資金問題,它似乎沒有被削減。 Java平臺(tái)的首席架構(gòu)師Mark Reinhold在JDK 9郵件列表中:

“該JEP將是對(duì)該平臺(tái)的有用補(bǔ)充,但是,從總體上看,它不如Oracle為JDK 9資助或考慮為其資助的其他功能那么重要。我們可能會(huì)重新考慮針對(duì)JDK 10或JDK 9的JEP。更高版本。 ”

2.貨幣和貨幣API

在其他消息中,看起來(lái)還像預(yù)期的Money and Currency API缺乏Oracle支持。 這是我們從API規(guī)范負(fù)責(zé)人Anatole Tresch得到的答案:

@tkfxin當(dāng)前不是。 Oracle沒有這樣做。 相反,我們將改善對(duì)ee的支持,而spring也會(huì)對(duì)其提供支持:)

— Anatole Tresch(@atsticks) ,2015年6月16日

翻譯自: https://www.javacodegeeks.com/2015/06/5-features-in-java-9-that-will-change-how-you-develop-software-and-2-that-wont.html

總結(jié)

以上是生活随笔為你收集整理的Java 9中的5个功能将改变您开发软件的方式(还有2个不会)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。