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