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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaOne美国之行–Session篇

發布時間:2023/12/14 java 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaOne美国之行–Session篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Session的總結是重頭戲,在這篇blog中,來分享下我參與過的Session,以及聽完后我對Session的評價和對于有收獲的Session制定的一些ActionPlan。

本屆JavaOne我總共參加了24個Session,主要集中在JVM方面以及ExperienceTalk方面,5分為最高分的話,我給這些Session的評分狀況如下所示:

從參加的Session來看,JavaOne中標題黨的Session也是有一些的,但能夠得到收獲的Session還是有不少的,根據內容以及Speaker挑選非常重要,通常,水平較高的Speaker總是不會讓你失望的,就算講的東西可能不能讓你滿意,但會后的交流一定會讓你受益匪淺,總體來說,我覺得參加這次JavaOne收獲的東西還是足夠多了,應該算得上值回票價了,:)
Session的Speaker有不少是來自印度的,看來現在印度已經從以前只是做技術含量低的外包工作,到現在成為core,領導技術的方向了,真是強悍呀。

接下來對參加的每個Session做一些介紹和總結。
9月20日
1.OSGiandJavaEE:AHybridApproachtoEnterpriseJavaApplicationDevelopment
評分★☆☆☆☆
總結
本來這場是打算去聽JDK7的,但同行的好幾個同學都感興趣,我就轉為聽這場OSGi的了,Speaker是兩個印度人,聽的我那個痛苦呀,還好對OSGi本來就有些基礎,呵呵,整場停下來沒有太多的收獲,基礎性的東西介紹的比較多,另外就是介紹了下OSGi在對JavaEE方面支持的增強,例如JNDI等,這些其實我也不怎么感興趣,聽到的唯一一個有點意思的東西是OSGi對webapplication的支持,看來在這么久沒關心后,這個東西還是有所增強,現在折騰出了一個WebApplicationBundle,因此可實現和WAR直接的集成,這個值得看看。
行動計劃
具體的看看WebApplicationBundle。

2.WhereDoesAlltheNativeMemoryGo?
評分★☆☆☆☆
總結
這場是我期望非常高的一場,因為之前已經碰到了一些NativeMemory消耗,又不是很好查的問題,但整場聽下來,并沒有給出什么好的解決方案,他給的解決方案還不如直接用googleperftools,但不得不說,PPT真的寫的非常系統化,這好像也是國外工程師不太一樣的地方,例如PPT中會先講到通常內存是如何申請、使用和回收的,以及JRE中哪些部分是會使用nativememory,哪些是使用jvmheap的,這個是值得學習的,這也是JavaOne各場PPT給我的印象。
行動計劃
修改下我自己的那個SunJDK1.6GC的PPT,也更加系統化一點,同時也增加NativeMemory這部分消耗更細致的講解。

3.StepbyStep:GCTuningintheHotSpotJavaVirtualMachine
評分★★★★☆
總結
這場是Rockstar:TonyPrintezis同學幾乎每屆JavaOne都講的Topic,說實話,內容沒太多新穎的地方,估計大家都是沖著人去的,但講的確實還是很不錯,給我的收獲主要是:優先選用ParallelOldGC,如果暫停時間過長,則考慮CMS;CMS的一些調優建議,例如和我之前經歷過的盡量減少對象從新生代晉升到舊生代這點,還有開啟ParallelRefProcEnabled。
交流
Session結束后向兩個Speaker提了幾個問題,一是關于jmap-histo能否推出一個加強版,直接看到對象的引用關系,回答是這是NetBeansProfilerteam的事情,他們沒辦法控制;第二個問題是我測試了下G1,效果不是很好,是否有什么其他的tuning參數,Tony給了我張名片,讓我email具體的日志信息給他,我想這是最大的收獲,哈哈。
行動計劃
修改我自己的那個SunJDK1.6GC的PPT,加上這里的一些調優建議;
嘗試開啟ParallelRefProcEnabled,以及跟蹤下實際的采用CMS系統的內存碎片的狀況。

4.TheNextBigJavaVirtualMachineLanguage
評分★☆☆☆☆
總結
這場一個是去的晚了點,坐在很后面,前面的人直接把PPT擋住了,后面一堆人在搖頭晃腦的找空隙點看PPT,另一方面是他說到的這些JDK中的弱點其實都是已知的,而且其實很多應用是歷史原因,要切換到另一種語言成本是非常非常高的,因此還是更多的想想如何在現有的語言下做出更多的改進比較靠譜。

5.ProjectLambda:ToMulticoreandBeyond
評分★★★★☆
總結
大牛Brian的Session,對于我這種之前對Lambda幾乎沒什么了解的人來說,還是非常不錯的,但其實Session結束后,我很想問一個問題:ProjectLambda要到JDK8才發布,是不是等的時間有點長了,呵呵。
行動計劃
看下lambda里面并行計算時線程數量是如何控制的,或者有知道的同學直接說下?

6.JavaOneKeynote
評分★★★☆☆
總結
貌似沒得到什么非常有價值的信息,更多的還是一些高層次的走向還有一些小的信息,例如hotspot將去掉permgen,要實現largeheapwithlowpauseGC等,很多是沒時間點的,這太要命了。

7.AdvancedMonitoringandTroubleshootingwithVisualVM
評分★★★☆☆
總結
由于自己之前對VisualVM還算有所了解和試用,介紹的東西有些太基礎了,唯一讓我眼前一亮的是原來現在已經有這么多的visualvmplugins了,其中的trackerplugin很有意思,可以直接顯示類的方法執行了多少次,耗時多少,我很好奇莫非jvm內部之前是已經有這樣的MBean可以獲取到的,如果是的話那豈不是完全不需要自己寫代碼來記錄這樣的信息了。
行動計劃
仔細看看TrackerPlugin。

9月21日
1.NewJavaVirtualMachineTricks:EnhancedHotCodeReplaceandMixinGeneration
評分★★★★★
總結
這場聽的我很興奮,:),一方面是PPT的系統化,讓我掌握了更多的codegeneration和codereplace可采用的技術,以及他們的問題,目前已有的解決方案,以及最后最讓人興奮的springloaded的演示,聽完后讓我覺得如果可以采用springloaded,那對于開發效率的提升是可以起到很大很大的幫助的。
交流
問了下speaker,springloaded是純java寫的嗎,speaker說是的,runasanagent.
行動計劃
找到Springloaded,進行試用,可惜杯具的是,我到現在為止都沒找到springloaded,莫非…這東西是商業的。

2.HowtoTuneandWriteLow-LatencyApplicationsontheJavaVirtualMachine
評分★★★★★
總結
很精彩的一場Session,Hotspot和JRockit的同學輪番講,告訴大家一些編寫低延時Java應用的tips,:),得到的收獲主要有:知道了原來JRockit也是generationalgc,只是會做partialcompaction,另外說到了JRockit的realtime版本中的很猛的GC:DeterministicGC,allowingguaranteesofSLAs.,只有G1是打破generational這個傳統的,不過至少從論文來看,G1還是很靠譜的,盡管現在實現出來的效果還不好;應該合理的設置TenuringThreshold,我之前一直覺得調這個太麻煩,就沒去做,看來還是值得嘗試下;理解你所使用的數據結構,避免expanding帶來的浪費,這個不錯,算是從寫代碼角度來看的一個pratice;避免使用Finalizers,這個在之前的blog中寫到的Deflater/Inflater內存泄露就是因為使用Finalizers造成的。
行動計劃
試試合理設置TenuringThreshold,看來能帶來的效果如何。

3.JRockitmissioncontrolhol
評分★★★★★
總結
我去JavaOne之前,@rednaxelafx就一直強烈建議我一定要去參加hol,所謂hol就是指動手實驗,因此這是一個關于JRMC(JRockitMissonControl)的動手實驗,進去會場后就看到一堆的電腦,然后有篇文檔告訴你怎么做,通過做一些練習,讓你掌握如何通過JRMC來查找、分析一些問題,例如如何尋找到hotmethods,如何查看系統執行慢的原因,如何分析內存的分配等,做完練習后,發現確實非常猛,完全滿足我現在希望查找的一些問題,可惜呀,這東西目前還不支持hotspot,而JRockit是收費的,so…
另外一個不錯的地方是他給的這些練習的代碼寫的真的非常經典,印象深刻的有兩個例子,其中一個你只需要改一行代碼,就可以讓運行效率提升10倍,另外一個例子只需要改兩行代碼,就可以讓系統不做GC,這兩個例子太經典了。
交流
問了下MarcusHirt(也就是OracleJRockit:TheDefenitiveGuide的作者,JRMC的leader)兩個問題,一是是否可不通過JRMC來觸發server進行flightrecorder,回答是ofcourse,并演示了下,太TM簡單好用了;二是是否可跟蹤兩次gc之間allocation的狀況,回答讓我覺得我自己很土,其實只用在memory視圖上將查看的范圍縮為兩次gc之間就行了,哎,這可是我們夢寐以求的功能呀。
行動計劃
專門再寫篇文章結合hol的練習來向大家介紹下JRMC,順帶把這些練習的代碼提供給大家下載;
在自己的GCPPT中增加writefriendlycodetogc的部分。

4.JavaOnegeneraltechnicalsessions
評分★☆☆☆☆
總結
沒得到任何有價值的信息。

5.PerformanceandDebuggingAdvancementsinOpenJDK
評分★★★☆☆
總結
這場聽到的就是OpenJDK新的版本中對Compile部分的一個優化,NMethodSweeper,據說能提升不少。
行動計劃
具體再看下這塊,OK的話可以再寫篇blog來介紹下這塊優化的思想。

6.OpenJDKBOF
評分★★★☆☆
總結
這個Session的形式是由大家開放式的問些問題,OpenJDK的一伙commiter會來回答,由于沒準備好,也沒去問問題,因此收獲很小。

7.7DeadlySinsofEnterpriseJavaProgrammingandDeploymentintheMulticoreEra
評分★☆☆☆☆
總結
其中一個Speaker是來自eBay的同學,可惜由于現場突然出現PPT播放的問題,導致最后沒講完,而我又急著去下場,因此最終這場我幾乎沒聽到什么東西。

8.OSGiataLarge-ScaleEnterprise:LessonsfromeBay
評分★★☆☆☆
總結
簡單說就是期望太高,失望越大,這個Session中只講到了移植到OSGi是多么的痛苦,但并沒講好處是什么,eBay目前使用OSGi的狀況是什么。
交流
根據后面的交流,才終于更多的知道了一些,其實eBay目前只是把OSGi用到他們的tools里,并沒有應用到主站系統上,好處方面之所以沒講什么,是因為Speaker認為來聽的人都知道有什么好處,這個…

9月22日
1.ExperienceTalk:UnderstandingAdaptiveRuntimes
評分★★★★☆
總結
這場可是《OracleJRockit:TheDefeniteGuide》兩個作者開講,因此期望也很高,不過說實話,還真沒講太多東西,更多的東西其實都寫在書上了,反而是講了很多的JRMC。
花絮就是對提問的同學會現場送書,于是我也去問問題了,可惜等我問的時候,書已經送完了,郁悶,我問的兩個問題:一個是關于G1的,我想聽聽JRockit的人怎么看G1,他們覺得G1目前尚未成熟,不好評價;第二個問題是什么時候JRMC會支持Hotspot,聽到的回答很杯具:aboutaftertwoyears,好吧…

2.TooBigtoFail:TopTipsforMassive,Mission-CriticalEnterpriseApplications
評分★★★★★
總結
這場比我期望高太多,如果要評聽過的最佳session,我想我會選這場,speaker有20年的工作經驗,10年jvmcompiler的經驗,10年銀行系統方面的經驗,他其實只是簡單的給出了7個對于大型系統有幫助的tips,但可謂是個個擊中要害,并且還給你講明白為什么,明顯是經驗豐富的人才能做到的,例如NUMA、sharereadonlydata、usehprof、beawareidentityhashcode,其中有些是知道的,并且在用的,有些還真不知道…
花絮是講到CompressedOOPS、NUMA的時候,speaker問有多少人知道或用過,下面竟然只有三、四個人,我很汗呀…
行動計劃
sharereadonlydata那個可以看看,方法不太一樣,竟然是jni上的NewDirectByteBuffer;
usehprof,我記得我之前用過,是因為效果不好,但看他的演示,我覺得可以試試,只是郁悶的是要把inline關掉,這個影響不知道會有多大;
測試identityhashcode的影響,現場的demo來看對GC的影響很大。

3.Top10CausesforJavaIssuesinProductionandWhattoDoWhenThingsGoWrong
評分★★★★☆
總結
還不錯,分享的幾個注意點都非常實在,不過基本都知道,這個session過程中有個環節挺好玩,就是說到為什么要注意GC呢,如果jvm實現商能提供一個flag就設置完內存管理,那就完美了,:)

4.ApacheHarmony:AnOpenInnovation
評分★★★☆☆
總結
聽完后發現沒看到Harmony相對現在的幾個JVM,有任何的優勢…

5.ShowdownattheJavaVirtualMachineCorral
評分★★★★☆
總結
這場其實很有意思,可惜得聽錄音才行,這場其實是三個使用面最廣的JVM(JRockit、J9、Hotspot)的主要作者們在上面回答PPT上的一些問題,挺有意思,:),可以聽得出各個JVM的不同發展重點。

9月23日
1.TheGarbageCollectionMythbusters
評分★★★★★
總結
還是Tony的Session,這場精彩很多,他和另外一個GCGroup的人一起講的,講的非常好,提到了大家對于GC的一些誤解,挺有意思的,例如gc是否能避免所有的內存泄露,給了個很有趣的簡單例子;不要使用finalizers來釋放資源等。
交流
這場后問了Tony一個問題,就是是否能支持將對象放到一塊gc不掃描的區域(請注意,這個方式和Terracotta的offheap是很不一樣的),提升系統的性能;Tony說,我們也有考慮這個,但需要Oracle確認。
聽完Tony的回答,我懂了…
行動計劃
提煉一些加到自己的GCPPT中。

2.Performancetuningfromthepros
評分★☆☆☆☆
總結
非常非常一般。

3.What’shappeninginmyapp:jvmmonitoringtools
評分★☆☆☆☆
總結
又一個商業的jvm監控工具,不感興趣,盡管其號稱幫助jdk團隊解決了一些問題。

4.ConcurrencygrabsfromeBay
評分★☆☆☆☆
總結
太基礎了點,盡管總結的還不錯,現場很多人盡管連copy-on-write這樣的pattern都不知道,而且還有很多人不知道線程池的類是不是在j.u.c里,好吧…

轉載于:https://blog.51cto.com/aliapp/1325773

總結

以上是生活随笔為你收集整理的JavaOne美国之行–Session篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。