JVM內(nèi)存模型(JMM)

? ? ? ? ? ?計(jì)算機(jī)兩大主要功能,計(jì)算和存儲(chǔ)预吆。cpu負(fù)責(zé)計(jì)算龙填,存儲(chǔ)器負(fù)責(zé)存儲(chǔ)功能,存儲(chǔ)器主要有緩存拐叉,主存(內(nèi)存)和硬盤岩遗。Cpu只對(duì)緩存中的數(shù)據(jù)進(jìn)行操作。緩存緩存數(shù)據(jù)來自內(nèi)存凤瘦,內(nèi)存的數(shù)據(jù)來自硬盤或網(wǎng)絡(luò)宿礁。硬盤的數(shù)據(jù)是持久化的,重新開機(jī)依然可以訪問蔬芥。緩存或內(nèi)存中的數(shù)據(jù)梆靖,遇到程序退出或關(guān)機(jī)就會(huì)丟失控汉。word編輯器中的數(shù)據(jù),在編輯時(shí)都是保存在內(nèi)存中返吻,沒保存情況下遇到程序退出或關(guān)機(jī)就會(huì)丟失姑子,如果點(diǎn)擊保存按鈕,它就會(huì)持久化到硬盤上面测僵,關(guān)機(jī)再啟依然可以訪問街佑。

? ? ? ? ? ?緩存就是我們?cè)谫徺I計(jì)算機(jī)的時(shí)候,上面寫的一級(jí)緩存捍靠,二級(jí)緩存沐旨,三級(jí)緩存,這三個(gè)緩存類型統(tǒng)稱為緩存榨婆。主存就是通常所說的內(nèi)存條磁携,內(nèi)存條的大小就是主存的大小。

????????jvm的內(nèi)存結(jié)構(gòu)可以劃分為纲辽,程序計(jì)數(shù)器颜武,本地方法棧,虛擬機(jī)棧拖吼,這三個(gè)部分他是屬于線程私有的內(nèi)存空間鳞上,所以它是放在緩存。方法區(qū)(常量池)和堆屬于共享內(nèi)存區(qū)域吊档,對(duì)應(yīng)主存篙议。

????????在一個(gè)確定的時(shí)刻,一個(gè)處理器怠硼,只會(huì)處理一條線程中的指令鬼贱,這個(gè)線程中的指令就存放在程序計(jì)數(shù)器里面,它存放的是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)

????????每一個(gè)方法都會(huì)包含他要處理的一些數(shù)據(jù)香璃,基本數(shù)據(jù)類型这难,和對(duì)象的引用,以及方法的結(jié)構(gòu)葡秒,就存在java虛擬機(jī)棧中姻乓,他是不需要跟其他線程所共享的,所以它是線程獨(dú)有的眯牧。此處所說的方法都是程序里面用java語言所寫的方法忌警。對(duì)于本地方法(native方法)牵署,這些描述信息將存在本地方法棧中午乓。

????????類相關(guān)信息鳞疲,包括類的版本,字段版确,方法接口等信息都存在運(yùn)行常量池扣囊,常量池屬于方法區(qū)的一塊空間乎折。當(dāng)使用ClassLoader的的時(shí)候產(chǎn)生的類信息就存放在常量池中,比如AOP可能導(dǎo)致常量池內(nèi)存溢出如暖,原因是其底層依賴的字節(jié)碼編譯技術(shù)產(chǎn)生過多類信息

共享內(nèi)存結(jié)構(gòu):

????????下圖是堆內(nèi)存的結(jié)構(gòu)圖笆檀,堆內(nèi)存劃分為四個(gè)區(qū)域忌堂,Eden,S0,S1,Old Memory盒至。Perm常量池屬于方法區(qū)。

????????當(dāng)一個(gè)普通對(duì)象被創(chuàng)建士修,Eden區(qū)分配空間來存放這個(gè)對(duì)象枷遂,當(dāng)觸發(fā)垃圾回收的時(shí)候,Eden區(qū)存活下來的對(duì)象移到S0棋嘲,清除沒被引用的對(duì)象酒唉,Eden內(nèi)存被釋放。新的對(duì)象在被創(chuàng)建的時(shí)候沸移,依然會(huì)放到Eden區(qū)痪伦,觸發(fā)Minor GC的時(shí)候,Eden區(qū)存活下來的對(duì)象移動(dòng)到還沒有被使用的S1區(qū)雹锣,釋放Eden网沾。Major GC觸發(fā)的時(shí)候,S0區(qū)存活的對(duì)象移到S1蕊爵,釋放S0辉哥。下一次Minor GC被觸發(fā)的時(shí)候,Eden區(qū)存活的對(duì)象就被放到S0區(qū)攒射,清空Eden重新接收新對(duì)象醋旦。

????????Major GC被觸發(fā)時(shí)候,S1區(qū)存活下來的對(duì)象又放在S0區(qū)会放。當(dāng)再一次觸發(fā)Major GC的時(shí)候饲齐,S0存活的對(duì)象又被放到S1區(qū),S0和S1來回的移動(dòng)存活對(duì)象咧最,每移動(dòng)一次捂人,幸存對(duì)象的存活次數(shù)增加一。在年輕代中經(jīng)歷了N次(可配置)垃圾回收后仍然存活的對(duì)象窗市,就會(huì)被復(fù)制到年老代中

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末先慷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子咨察,更是在濱河造成了極大的恐慌论熙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摄狱,死亡現(xiàn)場離奇詭異脓诡,居然都是意外死亡无午,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門祝谚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宪迟,“玉大人,你說我怎么就攤上這事交惯〈卧螅” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵席爽,是天一觀的道長意荤。 經(jīng)常有香客問我,道長只锻,這世上最難降的妖魔是什么玖像? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮齐饮,結(jié)果婚禮上捐寥,老公的妹妹穿的比我還像新娘。我一直安慰自己祖驱,他們只是感情好握恳,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著羹膳,像睡著了一般睡互。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陵像,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天就珠,我揣著相機(jī)與錄音,去河邊找鬼醒颖。 笑死妻怎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泞歉。 我是一名探鬼主播逼侦,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腰耙!你這毒婦竟也來了榛丢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤挺庞,失蹤者是張志新(化名)和其女友劉穎晰赞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掖鱼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年然走,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戏挡。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芍瑞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出褐墅,到底是詐尸還是另有隱情拆檬,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布掌栅,位于F島的核電站秩仆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猾封。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一噪珊、第九天 我趴在偏房一處隱蔽的房頂上張望晌缘。 院中可真熱鬧,春花似錦痢站、人聲如沸磷箕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岳枷。三九已至,卻和暖如春呜叫,著一層夾襖步出監(jiān)牢的瞬間空繁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工朱庆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盛泡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓娱颊,卻偏偏與公主長得像傲诵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子箱硕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • jvm:Java Virtual Machine(Java虛擬機(jī)的縮寫)是java實(shí)現(xiàn)跨平臺(tái)的核心支持拴竹,鏈接硬件和...
    4ea0af17fd67閱讀 614評(píng)論 0 0
  • JVM內(nèi)存模型Java虛擬機(jī)(Java Virtual Machine=JVM)的內(nèi)存空間分為五個(gè)部分,分別是: ...
    光劍書架上的書閱讀 2,483評(píng)論 2 26
  • 一 剧罩、java虛擬機(jī)底層結(jié)構(gòu)詳解 我們知道栓拜,一個(gè)JVM實(shí)例的行為不光是它自己的事,還涉及到它的子系統(tǒng)、存儲(chǔ)區(qū)域菱属、...
    葡萄喃喃囈語閱讀 1,476評(píng)論 0 4
  • 引言 本文希望以另外一種維度的思考方式來學(xué)習(xí)JVM內(nèi)存模型钳榨,希望自己能從設(shè)計(jì)原理的維度考慮為什么存在?有什么價(jià)值纽门?...
    J先生有點(diǎn)兒屁閱讀 22,187評(píng)論 2 31
  • 我們總會(huì)遇到一些力不從心的事情也總會(huì)經(jīng)歷那些從來沒經(jīng)歷過的生活你或許會(huì)痛苦會(huì)傷心會(huì)迷茫會(huì)不知所措但是天總會(huì)晴陽光還...
    琉筱璃閱讀 250評(píng)論 0 0