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

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| 在线国产偷拍自拍视频| 日韩欧美亚洲一级黄片| 亚洲不卡免费在线视频| 欧美一区二区亚洲天堂| 日韩成人手机视频在线观看| 欧美性生活真实的视频| 中文字幕久久熟女蜜桃| 精品日韩欧美在线观看91| 精品国产18禁99久久久久久| 久草尤物视频在线观看| 人人妻人人澡人人爽人人精品| 免费观看久久久激情片| 精品久久av一区二区三区| 亚洲一区二区精品999| 国产av自拍在线免费观看| 色婷婷久久五月中文字幕| 免费97久久人妻一区精品| 一区二区三区高清人妻| 朝桐光日韩一区二区三区| 国产高清毛片区1区二区三区| 日本一区二区三级在线观看| 色婷婷精品二区久久蜜臀av| 色综合久久国产原创野外| 久草视频免费福利观看| 国产精品一级自拍视频| 国产精品网站在线观看不卡| 十八岁毛片一区二区三区| 91精品一久久香蕉国产| 国产亚洲欧美精品久久久久| 欧美日韩人美精品一区在线| 亚洲不卡一区二区在线| 亚洲午夜福利天堂社区| 亚洲av区一区二区三| 欧美激情网页一区三区| 日韩精品第一区第二区| 欧美日韩精品免费在线观看| 国产不卡高清视频在线| 久久亚洲一区二区麻豆偷| 日本一本高清免费不卡| 91精品人妻互换一区二区|