内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Java垃圾回收器的定義及算法-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Java垃圾回收器的定義及算法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Java垃圾回收器的定義及算法”吧!

10年積累的做網(wǎng)站、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有欒城免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1、Java垃圾回收器的定義

Java垃圾回收器是Java虛擬機(jī)(JVM)的三個重要模塊(另外兩個是解釋器和多線程機(jī)制)之一,為應(yīng)用程序提供內(nèi)存的自動分配(Memory Allocation)、自動回收(Garbage Collect)功能,這兩個操作都發(fā)生在Java堆上(一段內(nèi)存快)。某一個時點,一個對象如果有一個以上的引用(Rreference)指向它,那么該對象就為活著的(Live),否則死亡(Dead),視為垃圾,可被垃圾回收器回收再利用。垃圾回收操作需要消耗CPU、線程、時間等資源,所以容易理解的是垃圾回收操作不是實時的發(fā)生(對象死亡馬上釋放),當(dāng)內(nèi)存消耗完或者是達(dá)到某一個指標(biāo)(Threshold,使用內(nèi)存占總內(nèi)存的比列,比如0.75)時,觸發(fā)垃圾回收操作。有一個對象死亡的例外,java.lang.Thread類型的對象即使沒有引用,只要線程還在運(yùn)行,就不會被回收。

2、Java垃圾回收器的性能評估工具

–XX:+PrintGCDetails和–XX:+PrintGCTimeStamps

垃圾回收的開始時間,持續(xù)時間,每一代的空余內(nèi)存等信息。

jmap [options] pid

jamp 2043 查看2043進(jìn)程里面已經(jīng)加載的共享對象。通常DLL文件。

jmap -heap 2043 查看內(nèi)存堆的配置信息以及使用情況。

jmap -permstat 2043 查看永久代的加載情況。

jmap -histo 2043 查看類的加載和內(nèi)存占用情況。

jstat [options] pid

jstat -class 2043 class加載、卸載、內(nèi)存占用情況。

jstat -gc 2043 GC執(zhí)行情況。

3、垃圾回收算法

(1)標(biāo)記清除算法

標(biāo)記清除算法分成兩步,第一步,標(biāo)記要回收的垃圾對象,第二步就是清除被標(biāo)記的垃圾對象. 標(biāo)記清除算法會產(chǎn)生大量的內(nèi)存碎片,而且效率低.所以,為了解決這個問題,出現(xiàn)了復(fù)制清除算法.

(2)復(fù)制清除算法(專門用于處理年輕代垃圾的)

所謂復(fù)制清除算法,就是在要進(jìn)行垃圾回收的時候,先將活著的對象整齊的復(fù)制到一塊空閑區(qū)域,然后再將原來的區(qū)域的垃圾全部清除. 復(fù)制清除算法的優(yōu)點:效率高于標(biāo)記清除算法,活著的對象是整齊排列的,沒有內(nèi)存碎片. 但是這個方法的缺點也很明顯,那就是浪費空間.

(3)標(biāo)記清理算法(年老代)

將活著的對象一個接一個的按順序排好,然后再清除變成垃圾的對象.這種方法不會造成碎片,也不會造成內(nèi)存的浪費.但是效率不高.所以,這種方法不適合在年輕代使用,而是在對象生命力很頑強(qiáng)的年老代使用

(4)分類算法

所謂分類算法,就是根據(jù)內(nèi)存的不同,采用不同的垃圾回收方式(上面的1,2,3)進(jìn)行垃圾回收.

4、典型的垃圾收集器
  

(1)Serial/Serial Old
  

Serial/Serial Old收集器是最基本最古老的收集器,它是一個單線程收集器,并且在它進(jìn)行垃圾收集時,必須暫停所有用戶線程。Serial收集器是針對新生代的收集器,采用的是Copying算法,Serial Old收集器是針對老年代的收集器,采用的是Mark-Compact算法。它的優(yōu)點是實現(xiàn)簡單高效,但是缺點是會給用戶帶來停頓。

(2)ParNew
  

ParNew收集器是Serial收集器的多線程版本,使用多個線程進(jìn)行垃圾收集。

(3)Parallel Scavenge
  

Parallel Scavenge收集器是一個新生代的多線程收集器(并行收集器),它在回收期間不需要暫停其他用戶線程,其采用的是Copying算法,該收集器與前兩個收集器有所不同,它主要是為了達(dá)到一個可控的吞吐量。

(4)Parallel Old
  

Parallel Old是Parallel Scavenge收集器的老年代版本(并行收集器),使用多線程和Mark-Compact算法。

(5)CMS
  

CMS(Current Mark Sweep)收集器是一種以獲取最短回收停頓時間為目標(biāo)的收集器,它是一種并發(fā)收集器,采用的是Mark-Sweep算法。

(6)G1
  

G1收集器是當(dāng)今收集器技術(shù)發(fā)展最前沿的成果,它是一款面向服務(wù)端應(yīng)用的收集器,它能充分利用多CPU、多核環(huán)境。因此它是一款并行與并發(fā)收集器,并且它能建立可預(yù)測的停頓時間模型。

到此,相信大家對“Java垃圾回收器的定義及算法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站題目:Java垃圾回收器的定義及算法-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article46/esseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、營銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、外貿(mào)建站

廣告

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

成都網(wǎng)站建設(shè)公司
民和| 禄劝| 曲阳县| 上饶县| 台中市| 靖宇县| 丰城市| 普兰县| 锡林郭勒盟| 清远市| 竹溪县| 大石桥市| 贡觉县| 沈丘县| 蚌埠市| 高台县| 鄂伦春自治旗| 灵寿县| 加查县| 尚志市| 建湖县| 西宁市| 河间市| 大余县| 正定县| 随州市| 林西县| 汪清县| 赫章县| 察哈| 临沂市| 和田县| 吉木萨尔县| 丽江市| 嘉善县| 阳城县| 潞城市| 米林县| 湘乡市| 封丘县| 泽普县|