AV大片,日韩伦理一区,国产在线a,开心播播网婷婷在线

無錫東方博宜教育培訓

[辦公應用]
獵學網(wǎng)訂閱號
獵學網(wǎng)官方企業(yè)微信
位置: 獵學網(wǎng) > 學校機構(gòu) > 無錫東方博宜教育培訓 > 學習資訊> 學JAVA軟件開發(fā)技巧-無錫東方博宜

學JAVA軟件開發(fā)技巧-無錫東方博宜

107 2017-05-03

5個優(yōu)化Java堆的技巧

對于有過Java認證經(jīng)歷的人來說,都知道很多性能問題都是由Java堆容量不足和調(diào)優(yōu)引起的,今天無錫東方博宜學校就和大家一起分享5個Java堆優(yōu)化的技巧:

學校地址:無錫市興源北路北創(chuàng)無錫市興源北路401號一期5樓550

咨詢 

1、JVM:對難以理解的東西產(chǎn)生恐懼感

千萬不要以為,通過配置,調(diào)優(yōu),就可以排除那些你所不明白的問題。有些人認為Java程序員不需要知道內(nèi)部JVM內(nèi)存管理。毫無疑問,這種觀點明顯是錯誤的,如果想拓寬知識面和提升排除故障能力,你就必須要了解和學習一下JVM內(nèi)存管理。

對于Java或者是JavaEE新手來說,JavaHeap調(diào)優(yōu)和故障排除是一項非常有挑戰(zhàn)的工作。下面會提供一些典型的案例場景:

客戶端環(huán)境面臨著有規(guī)律的OutOfMemoryError錯誤并且對業(yè)務造成了很大的影響。

你的開發(fā)團隊要在如此大的壓力下去解決這個問題,通常會怎么做?

1)用谷歌搜索引擎找到類似的問題并且你會相信(或假設)你也面臨同樣的問題。

2)你會抓住JVM-Xms和存在OutOfMemoryError異常這幾個關鍵字的例子,然后希望通過這樣的案例來快速解決客戶端問題。

3)最后你會在你環(huán)境中使用相同的調(diào)優(yōu)方法。兩天后,問題仍然發(fā)生(甚至更糟或者稍微好點)……

到底是哪里錯了呢?

首先,沒有摸清問題根源所在?對開發(fā)環(huán)境沒有正確地進行深層面(規(guī)格、負載情況等)理解。網(wǎng)絡搜索是一個非常優(yōu)秀的學習方法和知識分享工具,但是你必須結(jié)合自己的實際項目,從根本上進行分析解決。

可能缺乏基本的JVM和JVM內(nèi)存管理技能,阻止你把所有的點給連接起來。

今天講的第一條技巧是幫助你理解基本的JVM原則及其與眾不同的內(nèi)存空間。這些知識都是相當重要的,它可以幫助你做出有效的調(diào)優(yōu)策略、更加正確合理的預測將來會產(chǎn)生的影響、提前知道未來需要做哪些調(diào)優(yōu)工作。下面來看一下JVM參考指南:

JVM內(nèi)存分為3個內(nèi)存空間

●JavaHeap:適用于所有的JVM廠商,通常用來拆分YoungGen(幼苗)和OldGen(終身享用)空間。

●PermGen(永久代):適用于SunHotSpotVM((PermGen空間在Java7或者Java8更新中將會被刪除)

●NativeHeap(C-Heap):適用于所有的JVM廠商。

正如你所看到的,JVM內(nèi)存管理比使用Xmx設置最大值更為復雜。你需要查看每個角度,包括本地和PermGen需求以及從主機上查看物理內(nèi)存可用性(CPUcore)。

在較大的JavaHeap和較小的本地Heap比賽中,32位虛擬機可能會變得相當棘手。試圖在一個32位VM如2.5GB+上設置一個大型堆,根據(jù)應用程序占用和線程數(shù)量等因素會增加OutOfMemoryError這個異常拋出。64位JVM可以解決這個問題,但物理資源可用性和垃圾回收成本仍然是有限制的(成本主要集中在GC大小收集上)。最大并不表示是最好的,所以請不要假設在一個16GB的64位虛擬機上可以運行20個JavaEE應用程序。

2、數(shù)據(jù)和應用程序為王:回顧靜態(tài)占用需求

應用程序以及相關數(shù)據(jù)將決定Java堆空間占用需求。通過靜態(tài)內(nèi)存,可"預測"下面的內(nèi)存需求:

●確定將會有多少不同的應用程序部署到預先計劃的一個單獨的JVM進程上,例如有多少個ear文件、war文件、jar文件等。在一個JVM上部署的應用程序越多,對本機堆的需求就越多。

●確定有多少個類需要在運行時加載:包括第三方API.越多的類加載器和類在運行時被加載,在HotSpotVMPermGen空間和內(nèi)部JIT相關優(yōu)化對象上的需求就越高。

●確定數(shù)據(jù)緩存占用,如應用程序加載內(nèi)部緩存數(shù)據(jù)結(jié)構(gòu)(和第三方API),例如數(shù)據(jù)庫中的數(shù)據(jù)緩存,從文件中讀取數(shù)據(jù)等。數(shù)據(jù)緩存使用越多,JavaHeapOldGen空間需求就越高。

●確定允許建立的中間件線程數(shù)量。這是非常重要的,因為Java線程需要足夠的本機內(nèi)存,否則會拋OutOfMemoryError異常。

溫馨提示: 專業(yè)老師1對1為您解答    馬上填寫,¥1000 元豪禮免費領!

掃一掃
獲取更多福利

×
獵學網(wǎng)
偷拍欧美日韩女人| 欧美com| 黄片天堂| 欧美日韩亚洲中文v| 亚洲美女第一页| 日韩欧美成人免费观看| 免费亚洲欧美黄片| 高清欧美亚洲精品| 国产精品乱码一区二区三区 | 亚洲人人精品| 精品久久激情| 日本道久久综合222| 国产成人调教在线视频| 狠777| 国产精品白嫩| 久久AV无码品善网| 欧美黑人XXXX性高清版| 肏丰满少妇高潮视频| 亚洲一二三黄色| 欧美A级视频观看| 天天久久公开| 97人妻人人做人碰人人爽| 操逼三区| 夜草亚洲i| 三年片免费大全国语| 亚洲无码毛片一区| 亚洲色播中文字母| 亚洲老熟女偷拍| 无码人妻少妇精品无码专区漫画| 久久久久久久一| 精品少妇BBW| 91精品国产综合久久精品| 亚洲另类欧美日韩| 日韩性色b| 人妻精品免费视频| 九九久久精品| 欧美 国产 综合| 日本在线a| 日本永久免费观看片| AV中文字幕一区人妻| 国产欧美精品福利|