av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

即將改變軟件開(kāi)發(fā)的5個(gè)Java9新特性

瀏覽:99日期:2022-09-05 18:56:44
預(yù)計(jì)發(fā)布的Java 9中,最令人興奮的特性是什么?

有關(guān)Java9的消息最近顯得有些沉寂,不要被它迷惑了。JDK開(kāi)發(fā)者正在努力朝著下一個(gè)版本邁進(jìn),計(jì)劃2015年12月前完成所有功能開(kāi)發(fā)。之后,它會(huì)經(jīng)歷嚴(yán)格測(cè)試和bug修復(fù)以準(zhǔn)備它的全面上市,按計(jì)劃會(huì)在2016年9月發(fā)布。

今天我們已經(jīng)對(duì)Java 9中所期待的特性有了一個(gè)很清晰的圖景。如果Java 8可以被描述為主要是lambdas表達(dá)式、streams和API變化的話,那么Java 9就是關(guān)于Jigsaw、額外的實(shí)用工具和內(nèi)部的變化。在這篇文章中,收集了一些我們認(rèn)為是Java 9中最期待的特性——除了通常的猜測(cè)之外,Jigsaw項(xiàng)目,承擔(dān)了打破JRE并對(duì)Java核心組件模塊化的使命。

這里有一些特性是Java 9中絕對(duì)必要了解的,其中的一些已經(jīng)在早期的發(fā)布版本中為你搗鼓做好了準(zhǔn)備。

1.Java + REPL = jshell

是的。之前我們懷疑Kulla項(xiàng)目是否會(huì)在Java 9中準(zhǔn)時(shí)發(fā)布,但現(xiàn)在已得到了官方確認(rèn)。下一版發(fā)布的Java將會(huì)有稱為jshell的新命令行工具,它會(huì)添加本地支持和以Java方式對(duì)REPL(交互式解釋器)進(jìn)行推廣。意思是說(shuō),如果你想只運(yùn)行幾行Java代碼,你不必把它包裝進(jìn)一個(gè)單獨(dú)的工程或者方法。

噢,你可以忘掉那些分號(hào)了:

-> 2 + 2| 表達(dá)式的值是4| 將臨時(shí)變量$1的類型設(shè)為int

還有一些像REPL加載項(xiàng)一樣的替代品會(huì)增加到流行的IDE和解決方案中,就像Java REPL網(wǎng)頁(yè)控制臺(tái)。但目前為止,還沒(méi)有官方的或者合適的方式來(lái)這么做。jshell在早期的版本中已經(jīng)可以用了,等著你給它來(lái)個(gè)測(cè)試運(yùn)行。

2、微基準(zhǔn)測(cè)試要來(lái)了

由Alexey Shipilev開(kāi)發(fā)的Java微基準(zhǔn)測(cè)試套件(Java Microbenchmarking Harness)正在其進(jìn)化的下一階段,并加入Java作為官方基準(zhǔn)解決方案。我們真的很喜歡在Takipi做基準(zhǔn),所以一套標(biāo)準(zhǔn)化的執(zhí)行方式是我們期待的。

JHM是一組用來(lái)編譯、運(yùn)行和分析nano/micro/milli/macro基準(zhǔn)的套件。當(dāng)涉及到精確基準(zhǔn)評(píng)估,對(duì)結(jié)果產(chǎn)生很大影響的能力將備受關(guān)注,比如預(yù)熱時(shí)間和優(yōu)化。當(dāng)你以微秒或納秒計(jì)時(shí)的情況下尤其如此。所以,如果你想要更加精確的結(jié)果來(lái)幫助跟蹤基準(zhǔn)以做出正確的決定,JMH是你的最佳選擇——并且現(xiàn)在它已經(jīng)成為Java 9的同義詞了。

3、G1會(huì)成為新的默認(rèn)垃圾收集器嗎?

我們經(jīng)常聽(tīng)說(shuō)的一個(gè)誤解是:Java只有一個(gè)垃圾收集器,而事實(shí)上它有4個(gè)。Java 9中,仍有一個(gè)運(yùn)行提議,關(guān)于替換由Java 7引入的G1默認(rèn)垃圾收集器(并行/吞吐量收集)的討論。不同收集器之間差別精簡(jiǎn)概述,可以查看這篇里的文章。

通常來(lái)說(shuō),G1被設(shè)計(jì)來(lái)更好地支持大于4GB的堆,并且不會(huì)造成頻繁的GC暫停,但當(dāng)暫停發(fā)生時(shí),往往會(huì)處理更長(zhǎng)時(shí)間。最近我們和Outbrain的性能專家Haim Yadid討論了關(guān)于GC的方方面面,來(lái)幫助你了解更多各收集器之間不同的權(quán)衡。同樣,如果你想要深入了解相關(guān)討論,那么hotspot-dev和jdk9-dev的郵件組是個(gè)開(kāi)始學(xué)習(xí)不錯(cuò)的地方。

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

官方的HTTP 2.0標(biāo)準(zhǔn)是幾個(gè)月之前被批準(zhǔn)的,基于Google的SPDY算法構(gòu)建。SPDY已經(jīng)展示了相對(duì)HTTP 1.1巨大的速度提升,范圍在11.81%到47.7%之間,并且它已經(jīng)存在于大多數(shù)現(xiàn)代的瀏覽器中了。Java 9將全面支持HTTP 2.0,并且為Java配備一個(gè)全新的HTTP客戶端來(lái)替代HttpURLConnection,并且同時(shí)還實(shí)現(xiàn)HTTP 2.0和websockets。

5、進(jìn)程API得到了巨大的推動(dòng)

到目前為止,通過(guò)Java來(lái)控制和管理操作系統(tǒng)進(jìn)程能力有限。例如在早期版本的Java中,為了做一些簡(jiǎn)單的事情,像得到進(jìn)程PID,要么訪問(wèn)本機(jī)代碼,要么用某種神奇的臨時(shí)解決方法。此外,還可能需要一個(gè)對(duì)于每個(gè)平臺(tái)提供不同實(shí)現(xiàn)來(lái)保證你得到正確的結(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); }}

轉(zhuǎn)向像這樣的代碼(同樣也支持所有的操作系統(tǒng)):

System.out.println("Your pid is" + Process.getCurrentPid());

這一更新將擴(kuò)展Java與操作系統(tǒng)交互的能力:全新的直接操作PID、進(jìn)程名和狀態(tài)的方法,操作JVM線程和進(jìn)程等等能力。

你不會(huì)在Java 9中見(jiàn)到什么?

我們以為兩個(gè)有趣的特性會(huì)作為即將到來(lái)的Java發(fā)布版本中的一部分——但現(xiàn)在我們知道它們將不會(huì)出現(xiàn)在這次發(fā)布的版本。

1、一個(gè)標(biāo)準(zhǔn)的輕量級(jí)JSON API

在我們進(jìn)行的一項(xiàng)對(duì)350名開(kāi)發(fā)人員的調(diào)查中,JSON API就像Jigsaw一樣被大肆宣傳,但看起來(lái)它好像沒(méi)在發(fā)布版本中,原因可能是資金問(wèn)題。Mark Reinhold,Java平臺(tái)的首席架構(gòu)師,在JDK 9的郵件列表中寫(xiě)到:

“這個(gè)JEP對(duì)于平臺(tái)來(lái)說(shuō)是個(gè)有益的補(bǔ)充,但長(zhǎng)遠(yuǎn)來(lái)看,考慮到資金的因素以及Oracle資助的其它特性,它并不如其它特性一樣重要。我們考慮可能在JDK 10或者之后的版本再發(fā)布這個(gè)JEP。”

2、金錢(qián)和貨幣API

有一條新聞,似乎看起來(lái)金錢(qián)和貨幣API也缺少Oracle的支持。這是我們從Anatole Tresch那里得到的答案,這個(gè)API的產(chǎn)品推廣師:

@tkfxin 目前不會(huì)。從Oracle那里沒(méi)得到支持。取而代之的,我們將提高Java EE支持并且spring也將支持它 :)

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

我們遺漏了什么嗎?請(qǐng)?jiān)谙旅娴脑u(píng)論區(qū)告訴我們吧。沒(méi)有空閑時(shí)間?來(lái)看看何時(shí)以及為何在產(chǎn)品中代碼會(huì)出現(xiàn)失敗中斷。

原文鏈接: takipi 翻譯: ImportNew

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久精品视频免费 | 青青视频网 | 日韩少妇av| 成人玩具h视频 | 亚洲三级在线 | 国产在线欧美 | 天天色网站 | 亚洲精品色 | 国产精品一区二区三区四区 | 亚洲天堂久久 | 日本一本草久p | 久草福利在线观看 | 久久久麻豆| 在线不欧美 | 夜夜嗷| 伊人久久国产 | 一区二区三区国产视频 | 亚色av | 91精品国产成人www | 久久久久久久av | 黑人黄色一级片 | 亚洲精品视频免费在线观看 | 九色在线视频 | 三级视频在线观看 | h片免费观看 | 久久一级片 | 欧美精品一二三区 | 一级片免费网站 | 羞羞网站在线观看 | 国产一区二区三区在线 | 91中文字幕在线 | 日韩中文一区 | 天天爽夜夜爽夜夜爽 | 日本在线精品 | 国产理论片在线观看 | 天天操免费视频 | 亚洲一区二区欧美 | 久久国产综合 | 欧美日韩高清在线 | 国产一区二区不卡视频 | 在线色 |