JavaOne 2012:調查JVM水晶球

我回到了希爾頓的A / B廣場參加星期一的第四屆會議,但首先去了希爾頓的頂層收拾午餐。 我每年都在JavaOne的第一天被提醒,涉及到每個人的第一天的午餐獲取過程令人驚訝地令人沮喪。 我知道我在JavaOne的第一年的經歷使我有些困惑,因為我不確定午餐在哪里可以買到,而且我也不知道徽章中包含的午餐票(那是我不讀午餐的結果)說明首先的心態)。 今天,當我聽到人們問“什么票?”時,明顯感到困惑。 當被要求出示午餐票時。 那些試圖組織饑餓的部落的人勸說我們遠離自動扶梯的頂部并沒有幫助,但不知道我們應該去哪里。

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371533.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

測試遇到的問題

多人合作測試 多人員合作測試,應盡量保證測試平臺統一,處理流程統一,相互之間保持實時溝通。問題的處理進度應保證所負責的所有測試人員第一時間實時更新。 多人測試應做到2人或以上進行交叉測試。 轉載于:https://www.cnblogs.com/liuliu-wo…

Jquery Memo

jQuery選擇器 $( "#id" ) $( ".class" )$( "element" )全選擇器(*選擇器) * {padding: 0; margin: 0;}//子選擇器 //$(div > p) 選擇所有div元素里面的子元素P//后代選擇器 //$(div p) 選擇所有div元素…

c#語言輸出字符串長度,C#統計字符長度(漢字占2個字符)

在C#編程過程中,通過String類的Length屬性可以獲取對應字符串的長度,但是細心的讀者可能注意到了,String類的Length屬性返回的是字符串中Char對象的個數,也就是說,一個漢字的長度為1,對此,MSDN的…

使用JMSTester對JMS層進行基準測試

對于我去過的大多數客戶端,使用ActiveMQ擴展JMS消息傳遞層是一個優先事項。 有多種方法可以實現這一目標,但毫無疑問,創建基準測試并在實際硬件上分析架構(或者正如我的同事Gary Tully所說的“詢問機器”)是第一步。 但…

Js引擎解析執行 閱讀筆記

Js引擎解析執行 閱讀筆記 一篇閱讀筆記http://km.oa.com/group/2178/articles/show/145691?kmrefsearch&from_page1&no1 早期:遍歷語法樹 Js引擎最早使用的是遍歷語法樹方式 (syntax tree walker) 分為兩步 詞法分析語法分析詞法分析 i a b *…

紅外線遙控c語言程序,紅外遙控的C程序

紅外遙控在生產和生活中應用越來越廣泛,不同的紅外遙控芯片有不同的發碼協議,但一般都是由引導碼,系統碼,鍵碼三部分組成.引導碼是告訴接收機準備接收紅外遙控碼.系統碼是識別碼,不同的遙控芯片有不同的誤別碼,以免搞錯.遙控器上不同的按鍵有不同的鍵碼,系統碼和鍵碼都是16位碼…

Retrofit2 完全解析 探索與okhttp之間的關系

轉載請標明出處: http://blog.csdn.net/lmj623565791/article/details/51304204; 本文出自:【張鴻洋的博客】 之前寫了個okhttputils的工具類,然后有很多同學詢問這個工具類和retrofit什么區別,于是上了下官網,發現其底…

不變性真的意味著線程安全嗎?

我經常閱讀有關“如果對象是不可變的,則它是線程安全的”的文章。 實際上,我從未找到過一篇讓我相信不變的意味著線程安全的文章。 即使是Brian Goetz的Java Concurrency in Practice一書中關于不變性的一本書也沒有完全令我滿意。 在這本書中&#xff0…

c語言設計 數組的知識點,C語言程序設計知識點及示例.pdf

C語言程序設計知識點及示例四川大學錦江學院C語言程序設計知識點及示例知識點1:除了復合語句而外,C語言的語句都以分號結束。示例1:C語言的簡單語句 (非復合語句語句)必須以 結束。參考答案:分號知識點2:目標程序和可執…

移動端知識匯總

參見地址: https://github.com/jtyjty99999/mobileTech 轉載于:https://www.cnblogs.com/duanyue/p/7337789.html

在移動端設置overflow:hidden禁止滾動的解決方法

如果你是將overflow:hidden用在了body上那么不管用,因為移動端是基于touch事件。 兩種解決方法: 1、為html和body同時設置height:100%;overflow:hidden; html, body{height:100%;overflow:hidden; }2、使用touchmove $(document).on(touchmove,function …

單元測試線程代碼的5個技巧

這是一些技巧,說明如何進行代碼的邏輯正確性測試(與多線程正確性相對)。 我發現本質上有兩種帶有線程代碼的刻板印象模式: 面向任務–許多短期運行的同類任務,通常在Java 5執行程序框架內運行, 面向流程–…

jsp2

D:\Software\Tomcat7\work\Catalina\localhost 是緩存目錄&#xff0c;可以刪掉隱藏域&#xff1a;頁面表單中的一個元素&#xff0c;跟文本框一樣&#xff0c;但是用戶看不到1.建立test1--form表單需要它&#xff0c;而不需要用戶看到&#xff0c;用隱藏域<body><%re…

MongoDB MapReduce 的示例。

// JavaScript source code db.runCommand({mapreduce: "page",map: function Map() {emit(this.title, // how to group{ name: this.name } // associated data point (document));},reduce: function Reduce(key, values) {//reduce用來處理group出來是多條數…

c語言長空格的代碼是什么,c語言中表示空格的是什么代碼?

分析如下&#xff1a;不是所有字符都需要轉義的&#xff0c;空格直接就敲空格&#xff0c;或者使用ASCII碼值賦值為32。空格沒有轉義字符。合法轉義字符如下&#xff1a;\a 響鈴(BEL) 、\b 退格(BS)、\f 換頁(FF)、\n 換行(LF)、\r 回車(CR)、\t 水平制表(HT)、\v 垂直制表(VT)…

使用NoSQL實現實體服務–第1部分:概述

在過去的幾周中&#xff0c;我一直在進行一些研發工作&#xff0c;以了解使用NoSQL數據庫實現實體服務 &#xff08;也稱為數據服務&#xff09;的優勢。 實體服務是托馬斯埃爾&#xff08;Thomas Erl&#xff09;的《服務技術》叢書中提出的服務分類。 它用于描述高度不可知和…

IO注意事項

read()方法返回值為什么是int? 因為字節輸入流可以操作任意類型的文件,比如圖片音頻等,這些文件底層都是以二進制形式的存儲的,如果每次讀取都返回byte,有可能在讀到中間的時候遇到111111111,那么這11111111是byte類型的-1,我們的程序是遇到-1就會停止不讀了,后面的數據就讀不…

c語言用星號輸出沙漏,《算法筆記》學習日記——3.3 圖形輸出

3.3 圖形輸出問題 A: 輸出梯形題目描述輸入一個高度h&#xff0c;輸出一個高為h&#xff0c;上底邊為h的梯形。輸入一個整數h(1<h<1000)。輸出h所對應的梯形。樣例輸入web5樣例輸出數組*********************************************思路這一類的題目都比較簡單&#xf…

JavaOne 2012:101種改進Java的方法-開發人員參與為何如此重要

Bruno Souza &#xff0c; Martijn Verburg和Heather Vancura在希爾頓酒店的大陸宴會廳4中展示了“ 101種改進Java的方法&#xff1a;開發人員參與為何如此重要”。 他們將其分為自己最熟悉的領域。 SouJava的創始人兼協調員 Souza談到了通過用戶組的更大參與。 Verberg也在倫敦…

Java組合實體模式~

組合實體模式用于EJB持久化機制。 組合實體是表示對象圖的EJB實體bean。 當組合實體更新時&#xff0c;內部依賴對象bean將自動更新為由EJB實體bean管理。 以下是組合實體Bean的參與者。 組合實體 - 它是主要的實體bean。 它可以是粗粒度的或可以包含用于持久性目的的粗粒度對象…