老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

JVM的內(nèi)存模型和垃圾回收機(jī)制

本篇內(nèi)容介紹了“JVM的內(nèi)存模型和垃圾回收機(jī)制”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、納溪網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為納溪等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

JVM的內(nèi)存模型和垃圾回收機(jī)制

jvm的內(nèi)存模型和heap的分代模型如上圖所示

名稱是否線程共享存放內(nèi)容
虛擬機(jī)棧局部變量表、方法出口等
本地方法棧native方法
程序計(jì)數(shù)器當(dāng)前線程支持的字節(jié)碼命令
方法區(qū)jvm加載的類信息、常量、靜態(tài)變量等
創(chuàng)建的java對象

分代原因:提升GC性能和方便內(nèi)存分配

1. 內(nèi)存分配

  • 新生代與老年代的比值大概是1:3

  • eden區(qū)和surviver區(qū)的比值默認(rèn)8:1

2. 內(nèi)存回收

        幾乎所有的java對象都是在eden區(qū)出生的,當(dāng)eden區(qū)沒有足夠的空間時(shí)虛擬機(jī)會(huì)發(fā)起一次minorGC,此后存活下的對象會(huì)被放到seurvier區(qū),如果surviver區(qū)的空間不夠,則根據(jù)內(nèi)存擔(dān)保原則分配到老年代。

  • 垃圾確認(rèn)原則:應(yīng)用技術(shù)法與可達(dá)性分析法

  1. 引用計(jì)數(shù)法:即一個(gè)對象如果沒有任何與之關(guān)聯(lián)的引用,即他們的引用計(jì)數(shù)都不為0,則說明對象不太可能再被用到,那么這個(gè)對象就是可回收對象(可是會(huì)有循環(huán)引用的問題)。

  2. 可達(dá)性分析法:解決引用計(jì)數(shù)法的循環(huán)引用問題,如果在“GC roots”和一個(gè)對象之間沒有可達(dá)路徑,則稱該對象是不可達(dá)的。要注意的是,不可達(dá)對象不等價(jià)于可回收對象,不可達(dá)對象變?yōu)榭苫厥諏ο笾辽僖?jīng)過兩次標(biāo)記過程。兩次標(biāo)記后仍然是可回收對象,則將面臨回收。

  • miborGC(復(fù)制-》清空-》互換)流程:eden、servicorFrom 中存活對象復(fù)制到ServicorTo,年齡+1,15代之后進(jìn)入老年代,大對象直接進(jìn)入老年代;-》清空eden、servicorFrom;-》 ServicorTo和ServicorFrom互換。

  • 垃圾回收內(nèi)存擔(dān)保原則:老年代中的連續(xù)可用內(nèi)存空間大于新生代對象總大小或者歷次晉升到老年代對象平均大小就執(zhí)行minorGC,否則就fullGC.

3. 垃圾回收算法

  • 新生代采用標(biāo)記-復(fù)制算法回收內(nèi)存,理論上需要一半的內(nèi)存來復(fù)制對象(不易產(chǎn)生內(nèi)存碎片,但是可用內(nèi)存會(huì)被壓縮一半),但是95%的對象都是朝生夕死,所以將新生代中的復(fù)制區(qū)域劃分為8:1,也就是可以使用整個(gè)新生代內(nèi)存的90%,而不是一半。

  • 老年代采用的是標(biāo)記-清除算法來回收內(nèi)存,會(huì)產(chǎn)生不連續(xù)的內(nèi)存碎片

  • 永久代(或者方法區(qū))也可以回收,就是回收條件比較苛刻

  1. java堆中不存在該類實(shí)例

  2. 該類的classLoader都被回收

  3. 該類的java.long.Class都被回收,無法通過反射訪問改方法,滿足以上三條件,方法區(qū)內(nèi)的類就被回收了。

4. 垃圾收集器

JVM的內(nèi)存模型和垃圾回收機(jī)制

垃圾收集器對比
      名稱    使用范圍  原理                                         優(yōu)缺點(diǎn)                                 
Serial新生代單線程,復(fù)制算法簡單高效,java虛擬機(jī)client模式下默認(rèn)新生代垃圾收集器
ParNew新生代Serial+多線程ParNew收集器默認(rèn)開啟和CPU數(shù)目相同的線程數(shù),java虛擬機(jī)運(yùn)行在Server模式下新生代的默認(rèn)垃圾收集器,ParNew垃圾收集器在垃圾收集過程中同樣也要暫停所有其他的工作線程
Parallel Scavenge新生代多線程復(fù)制算法重點(diǎn)關(guān)注的是程序達(dá)到一個(gè)可控制的吞吐量
Serial Old(MSC) 老年代單線程標(biāo)記整理算法Client默認(rèn)的java虛擬機(jī)默認(rèn)的年老代垃圾收集器,也會(huì)暫停所有線程
Parallel Old老年代多線程標(biāo)記整理算法Parallel Old正是為了在年老代同樣提供吞吐量優(yōu)先的垃圾收集器,如果系統(tǒng)對吞吐量要求比較高,可以優(yōu)先考慮新生代Parallel Scavenge和年老代Parallel Old收集器的搭配策略
CMS老年代多線程標(biāo)記清除算法

主要目標(biāo)是獲取最短垃圾回收停頓時(shí)間,

最短的垃圾收集停頓時(shí)間可以為交互比較高的程序提高用戶體驗(yàn),總體上來看CMS收集器的內(nèi)存回收和用戶線程是一起并發(fā)地執(zhí)行

G1新生代/老年代
  1. 基于標(biāo)記-整理算法,不產(chǎn)生內(nèi)存碎片。

  2. 可以非常精確控制停頓時(shí)間,在不犧牲吞吐量前提下,實(shí)現(xiàn)低停頓垃圾回收

G1收集器避免全區(qū)域垃圾收集,它把堆內(nèi)存劃分為大小固定的幾個(gè)獨(dú)立區(qū)域,并且跟蹤這些區(qū)域的垃圾收集進(jìn)度,同時(shí)在后臺(tái)維護(hù)一個(gè)優(yōu)先級(jí)列表,每次根據(jù)所允許的收集時(shí)間,優(yōu)先回收垃圾最多的區(qū)域。區(qū)域劃分和優(yōu)先級(jí)區(qū)域回收機(jī)制,確保G1收集器可以在有限時(shí)間獲得最高的垃圾收集效。

5. 結(jié)語

        jvm的內(nèi)存回收依賴?yán)占鳎占魇抢厥账惴ǖ木唧w實(shí)現(xiàn),可以通過啟動(dòng)參數(shù)指定不同的新生代,老年代的垃圾回收器。所有垃圾回收器的優(yōu)化方向都是盡可能的降低“stop the world”的耗時(shí),也就是垃圾回收線程執(zhí)行耗時(shí),盡可能的提高cpu的吞吐量。不同的實(shí)現(xiàn)方案造成了不同的垃圾回收器。如serial,parallel,cms,沒有一種能夠適應(yīng)所有的垃圾回收需求,都是根據(jù)義務(wù)需求組合使用,目前最牛掰的是G1回收器,但是生產(chǎn)環(huán)境幾乎沒有使用。

“JVM的內(nèi)存模型和垃圾回收機(jī)制”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章標(biāo)題:JVM的內(nèi)存模型和垃圾回收機(jī)制
網(wǎng)頁鏈接:http://www.xueling.net.cn/article/jhejcp.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 免费观看黄网站在线播放 | 伊人久久大香线蕉综合网 | 日本韩国一区二区 | 精品久久久久久中文字幕大豆网 | 99久热精品 | 亚洲国产片在线观看 | 黄色成年人国语版在线观看 | 亚洲精品AV一区午夜福利 | 亚洲欧洲国产一区 | 亚洲午夜精品久久 | 欧美成人免费 | 国产成人无码免费视频79 | 欧美国内亚洲 | 国产网站视频 | 亚洲www在线 | 色8久久久噜噜噜久久 | 555www色欧美视频 | 国产一区视频在线播放 | 色久悠悠婷婷综合在线亚洲 | 国产亚洲久一区二区 | 日韩日本欧美亚洲 | 亚洲国产一区二区三区a毛片 | 国产精品嫩草影院久久 | 亚洲精品国产高清 | 思思99热精品免费观看 | 夜鲁鲁鲁夜夜综合视频欧美 | 91高清视频在线观看 | 中文字幕一区二区三区在线不卡 | 成人午夜福利视频镇东影视 | 欧美成人免费全部 | 国产精品久AAAAA片 | 中文字幕综合在线观看 | 久久精品国产99久久99久久久 | 奇米影视888狠狠狠 国产天堂网一区二区三区 99激情网 | 亚洲AV第一成肉网 | 久久日韩精品无码一区 | 三年片在线观看免费动漫 | 72成人网| 日韩欧美亚洲一区二区 | 蜜臀AV无码一区二区三区 | 国产女合集小岁9三部 |