欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java垃圾回收調(diào)優(yōu)的方法是什么

這篇文章主要講解了“Java垃圾回收調(diào)優(yōu)的方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java垃圾回收調(diào)優(yōu)的方法是什么”吧!

專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),高端網(wǎng)站制作設(shè)計(jì),重慶小程序開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5技術(shù)+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

性能調(diào)優(yōu)目標(biāo)要是可確定且可測(cè)量的,這非常重要。這些目標(biāo)包括延遲、吞吐量和容量,想要了解更多,我推薦看看垃圾回收手冊(cè)(Garbage Collection Handbook)中相應(yīng)的章節(jié)。讓我們看看在實(shí)踐中如何設(shè)定并達(dá)到這樣的調(diào)優(yōu)目標(biāo)。為了這個(gè)目的,讓我們來(lái)看一個(gè)示例代碼:

//imports skipped for brevity public class Producer implements Runnable {    private static ScheduledExecutorService executorService = Executors.newScheduledThreadPool(2);    private Deque<byte[]> deque;   private int objectSize;   private int queueSize;    public Producer(int objectSize, int ttl) {     this.deque = new ArrayDeque<byte[]>();     this.objectSize = objectSize;     this.queueSize = ttl * 1000;   }    @Override   public void run() {     for (int i = 0; i < 100; i++) {       deque.add(new byte[objectSize]);       if (deque.size() > queueSize) {         deque.poll();       }     }   }    public static void main(String[] args) throws InterruptedException {     executorService.scheduleAtFixedRate(new Producer(200 * 1024 * 1024 / 1000, 5), 0, 100, TimeUnit.MILLISECONDS);     executorService.scheduleAtFixedRate(new Producer(50 * 1024 * 1024 / 1000, 120), 0, 100, TimeUnit.MILLISECONDS);     TimeUnit.MINUTES.sleep(10);     executorService.shutdownNow();   } }

代碼中提交了兩個(gè)作業(yè)(job),且每 100ms 運(yùn)行一次。每個(gè)作業(yè)模擬特定對(duì)象的生命周期:先創(chuàng)建對(duì)象,讓它們“存活”一段時(shí)間,然后忘記它們,讓 GC 回收內(nèi)存。 運(yùn)行這個(gè)示例時(shí),開啟 GC 日志并使用以下參數(shù):

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps

我們立即在日志文件中看到 GC 的影響和下面這些相似:

2015-06-04T13:34:16.119-0200: 1.723: [GC (Allocation Failure) [PSYoungGen: 114016K->73191K(234496K)] 421540K->421269K(745984K), 0.0858176 secs] [Times: user=0.04 sys=0.06, real=0.09 secs] 2015-06-04T13:34:16.738-0200: 2.342: [GC (Allocation Failure) [PSYoungGen: 234462K->93677K(254976K)] 582540K->593275K(766464K), 0.2357086 secs] [Times: user=0.11 sys=0.14, real=0.24 secs] 2015-06-04T13:34:16.974-0200: 2.578: [Full GC (Ergonomics) [PSYoungGen: 93677K->70109K(254976K)] [ParOldGen: 499597K->511230K(761856K)] 593275K->581339K(1016832K), [Metaspace: 2936K->2936K(1056768K)], 0.0713174 secs] [Times: user=0.21 sys=0.02, real=0.07 secs]

基于日志中的信息,我們可以開始改善性能。并請(qǐng)牢記三個(gè)不同的目標(biāo):

  1. 確保 GC pause(垃圾回收暫停)的最壞情況不要超過(guò)預(yù)期的臨界值。

  2. 確保應(yīng)用程序線程停滯時(shí)間不超過(guò)預(yù)先確定的閥值。

  3. 降低基礎(chǔ)架構(gòu)成本,同時(shí)確保我們?nèi)钥梢詫?shí)現(xiàn)合理的延遲和吞吐量目標(biāo)。

為此,以三個(gè)不同的配置各運(yùn)行了10分鐘,在下表中總結(jié)了三個(gè)差距較大的結(jié)果:

GC算法

有效工作

長(zhǎng)暫停

-Xmx12g

-XX:+UseConcMarkSweepGC

89.8%

560 ms

-Xmx12g

-XX:+UseParallelGC

91.5%

1,104 ms

-Xmx8g

-XX:+UseConcMarkSweepGC

66.3%

1,610 ms

實(shí)驗(yàn)中,設(shè)置不同的 GC 算法和不同的堆大小,運(yùn)行相同的代碼,然后測(cè)量垃圾回收暫停的持續(xù)時(shí)間和吞吐量。實(shí)驗(yàn)細(xì)節(jié)和結(jié)果的解釋都在我們的垃圾回收手冊(cè)中。看看手冊(cè)中的一些例子,修改一些簡(jiǎn)單的配置造成延遲、吞吐量等各方面的性能完全不同。

注意:為了保持示例盡可能簡(jiǎn)單,只有數(shù)量有限的輸入?yún)?shù)被改變,例如沒(méi)有對(duì)不同數(shù)量的核心(CPU core)或不同堆布局進(jìn)行測(cè)試。

感謝各位的閱讀,以上就是“Java垃圾回收調(diào)優(yōu)的方法是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java垃圾回收調(diào)優(yōu)的方法是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

文章標(biāo)題:Java垃圾回收調(diào)優(yōu)的方法是什么
本文URL:http://aaarwkj.com/article4/gjddie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站收錄手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站網(wǎng)站營(yíng)銷、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
欧美三级在线完整版免费| 精品一区中文字幕少妇人妻| 欧美成人精品欧美一级黄片| 黑人巨大精品欧美一区免| 亚洲最大成人av在线| 国产精品日本一区二区三区在线| 久久亚洲中文字幕丝袜长腿| 啊啊啊用力好大视频| 97超碰国产在线观看| 日本精品1区国产精品| 人妻少妇被猛烈进入文字幕| 精彩国产av一区二区三区| 国产三级自拍视频在线观看| 成人av免费高清在线播放| 日韩高清视频 一区二区| 欧美三级视频一区二区三区| 亚洲国产99在线精品一区| 欧美一日韩一级片免费看| 亚洲s码在线一区二区| 久久精品国产亚洲av无| 在线日韩欧美一区二区三区| 日韩欧美黄网站免费看| av一区二区三区不卡在线看| 亚洲综合色日本日b网| 亚乱熟女一区二区三区| 97色伦综合在线欧美视频| 杨幂一区二区在线观看| 亚洲精品福利一二三区| 亚欧成人永久免费视频| 青青草成人免费在线公开视频| 精品人妻一区二区三区mp4| 日韩人妻中文字幕专区| 国产精品久久综合网| 成人做爰片免费看视频| 日韩高清伦理一区二区| 午夜影院免费在线观看五分钟 | 熟女aaa一区二区午夜| 丝袜美腿美女日韩在线| 97精品少妇一区二区三区| 国产亚洲香蕉精彩视频| 亚洲欧美日韩精品区|