JavaOne 2012:调查JVM水晶球
Mikael Vidstedt和Staffan Friberg提出了“研究JVM水晶球”。 他們表示,此演示文稿涵蓋的兩個(gè)主要領(lǐng)域是技術(shù)虛擬機(jī)詳細(xì)信息和虛擬機(jī)路線圖。 早期的幻燈片“ VM Convergence”討論了JRockit和HotSpot的融合以及CDC(Jave ME)和HotSpot Embedded的融合。
關(guān)于“可服務(wù)性:內(nèi)省和分析”的幻燈片談到了對(duì)“統(tǒng)一日志記錄”( JEP 158 )和“本機(jī)內(nèi)存跟蹤”的需求。 另一張標(biāo)題相同的幻燈片談到了“ Java Flight Recorder和Java Mission Control”,它是JRockit中的一項(xiàng)許可功能,將在HotSpot中提供(仍作為許可功能)。
“ Just Say Java”項(xiàng)目符號(hào)是指“消除人工內(nèi)存限制和所需的調(diào)整”并“降低調(diào)整垃圾收集器的復(fù)雜性”的意圖。 最終目標(biāo)是使用“多層優(yōu)化編譯器”實(shí)現(xiàn)“用于客戶端和服務(wù)器的單個(gè)可伸縮VM”。 另一張標(biāo)題為“ Enterprise:Server Java”的幻燈片談到了“即時(shí)性能”,“低延遲垃圾收集器”和大數(shù)據(jù)(需要大堆)。
幻燈片的標(biāo)題為“云與虛擬化:多租戶”,主題是“動(dòng)態(tài)擴(kuò)展和按需可用性”,保持“完全隔離”并最大限度地提高“資源利用率”。
“開發(fā)人員體驗(yàn):持續(xù)改進(jìn)”幻燈片引用了虛擬機(jī)上支持的多種語(yǔ)言的價(jià)值。 幻燈片和演講者還提到通過與IDE開發(fā)人員的緊密合作,通過“動(dòng)態(tài)開發(fā)和調(diào)試”來改善開發(fā)經(jīng)驗(yàn)。
JEP是通過社區(qū)流程添加到虛擬機(jī)的Java增強(qiáng)建議和JEP文檔。 在本次會(huì)議中指出,現(xiàn)在可以將JVM從小型Raspberry Pi擴(kuò)展到大型Exalogic T3-1B 。 有人指出,受益于這些極端之一的許多事物也有益于相反的極端以及介于兩者之間的所有事物。
“足跡:每個(gè)字節(jié)都很重要!” 幻燈片介紹了HotSpot VM開發(fā)人員正在努力添加到HotSpot VM的嵌入式JVM功能的一些示例。 這些包括“緊湊型JVM內(nèi)部結(jié)構(gòu)”(JEP 147)和“內(nèi)部字符串表”,“系統(tǒng)字典”和“緩存”的“動(dòng)態(tài)調(diào)整大小”。 企業(yè)和嵌入式極端都受益于這些變化。
結(jié)合項(xiàng)目符號(hào)“ Java堆很簡(jiǎn)單”,提到了HPROF和Java Mission Control。 本機(jī)內(nèi)存跟蹤 “對(duì)于總體上尋找足跡非常有用”。
JSR 292 / JEP 160 (invokedynamic的初始版本中存在一些問題( NoClassDefFoundError ),但他們認(rèn)為這些問題已得到解決。正如今天早些時(shí)候在Lambda之路中所述,Lambda項(xiàng)目正在使用invokedynamic。有證據(jù)表明invokedynamic不僅適用于“替代JVM語(yǔ)言”,而且對(duì)Java語(yǔ)言本身也很有用, Nashorn項(xiàng)目也將受益于invokedynamic。
概述了針對(duì)多種語(yǔ)言進(jìn)行優(yōu)化的三個(gè)動(dòng)作。 這些是“內(nèi)聯(lián)的”(今天已經(jīng)全部完成,但是他們希望使編譯器能夠逐步內(nèi)聯(lián)),“轉(zhuǎn)義分析改進(jìn)”(分析改進(jìn)代碼的方式)和“裝箱消除”(避免多余的對(duì)象)創(chuàng)建)。 JEP 165處理“細(xì)粒度的編譯器控制”,并且存在JEP 143以改善鎖爭(zhēng)用。
討論了幻燈片“ G1 –垃圾優(yōu)先:垃圾收集的未來”。 有人解釋說,這將方法從“一個(gè)巨大的Java堆”更改為被視為“許多小部分”的堆。 該-XX:+UseG1GC選項(xiàng)被提及,以此來嘗試這個(gè)新的垃圾收集器為JDK 7更新4. JEP 144的目的是減少垃圾收集延遲為大的堆。
“ PermGen不再存在!” 是新JVM內(nèi)存布局幻燈片上的項(xiàng)目符號(hào),這是JEP 122的結(jié)果。 該更改應(yīng)該是“對(duì)用戶透明的”,但是他們希望Java開發(fā)人員嘗試一下以確保該更改是真正不可見的。
JEP 159涉及“增強(qiáng)類的重新定義”。 他們想放松今天的“使用java.lang.instrument,JVMTI等進(jìn)行的重新定義”。 不僅僅是重新定義代碼主體。
JVM開發(fā)人員的另一個(gè)方向是異構(gòu)計(jì)算。 “ GPU非常強(qiáng)大,并且比過去具有更多的可用性。” 蘇門答臘項(xiàng)目試圖支持GPU和Arrays 2.0概念 。
有人指出,“云使部署環(huán)境更加流暢”,但“ JVM處于幫助的獨(dú)特位置”。 他們的目標(biāo)是確保JVM可以接收與云相關(guān)的更改并保持隔離。
有人指出,“去除永久代的一個(gè)很好的結(jié)果”是,“類數(shù)據(jù)共享”現(xiàn)在可以與所有垃圾收集器一起使用,而不僅僅是與串行收集器一起使用。 JEP 145旨在減少啟動(dòng)時(shí)間并減少Java應(yīng)用程序的預(yù)熱時(shí)間。
在此演示文稿中多次強(qiáng)調(diào),開發(fā)人員可以通過下載最新版本的VM和語(yǔ)言編譯器,進(jìn)行嘗試并提供反饋來幫助測(cè)試和推動(dòng)修復(fù)和改進(jìn)。 JDK8早期訪問版本可以下載,沒有永久生成的版本應(yīng)該很快可以使用。
別忘了分享!
參考: JavaOne 2012:在Inspired by Actual Events博客上,從我們的JCG合作伙伴 Dustin Marx 了解JVM Crystal Ball 。
翻譯自: https://www.javacodegeeks.com/2012/10/javaone-2012-looking-into-jvm-crystal.html
總結(jié)
以上是生活随笔為你收集整理的JavaOne 2012:调查JVM水晶球的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑硬盘文件打开很慢(打开硬盘里面的文件
- 下一篇: 苹果电脑中国银行网银控件(苹果电脑怎么安