虛擬機(jī)內(nèi)存管理

虛擬機(jī)進(jìn)行new對(duì)象指令時(shí)是先分辨是否能引用,然后判斷是否加載(類加載),接著就是分配內(nèi)存,如果gc帶有壓縮整理功能,則分配方式為空閑列表(CMS基于Mark-Sweep算法收集器),如果不帶,就是用指針碰撞的方式分配,Serial,ParNew帶Compact的收集器這類的

對(duì)象的創(chuàng)建在虛擬機(jī)中是如何保證安全的

1:同步(類似于加鎖)2:分配不同的創(chuàng)建區(qū)域(把兩者想分配在不同區(qū)域,自然就不會(huì)有沖突的情況)



如何使用對(duì)象

1:句柄訪問,在棧中有一個(gè)reference,存的是句柄池句柄的地址,句柄則包含了所有對(duì)象的數(shù)據(jù)類型和類型數(shù)據(jù)各自的地址,好處:在復(fù)制清除中,只需要修改reference的值,就可以,不需要移動(dòng)太多的數(shù)據(jù)

2:直接指針訪問:reference存的是對(duì)象的地址,好處:速度快,減少開銷



各個(gè)位置內(nèi)存溢出的原因

堆溢出:不斷創(chuàng)建新對(duì)象,并保證gc到達(dá)對(duì)象之間有可達(dá)路徑避免被清除.對(duì)象數(shù)量大于最大容量就會(huì)oom

解決辦法:確認(rèn)內(nèi)存中的對(duì)象是否必須存在:

虛擬機(jī)棧溢出和本地方法棧溢出

1:線程請(qǐng)求的棧深度大于虛擬機(jī)所允許的最大深度,拋出StackOverFlowError

2:虛擬機(jī)在擴(kuò)展棧時(shí),沒有足夠的內(nèi)存空間,拋出OutOfMemoryError

解決辦法:減少單個(gè)線程的內(nèi)存,減少最大堆和最小的棧容量來換取更多的線程(單個(gè)線程的內(nèi)存越大,越有可能出現(xiàn)內(nèi)存溢出的情況,在多線程的情況下,減少單個(gè)線程的內(nèi)存大小,可以盡量避免出現(xiàn)棧溢出的錯(cuò)誤)


方法區(qū)和運(yùn)行時(shí)常量池溢出:

原因:運(yùn)行時(shí)產(chǎn)生大量的類填滿方法區(qū),

常見的:大量jsp或產(chǎn)生jsp文件的應(yīng)用,jsp第一次運(yùn)行會(huì)編譯成java類,同個(gè)類被不同加載器加載,會(huì)被視為不同的類CGlib動(dòng)態(tài)生成的class


本機(jī)直接內(nèi)存溢出

沒有申請(qǐng)分配內(nèi)存,卻通過其他方式來獲取實(shí)例進(jìn)行內(nèi)存分配(想要內(nèi)存,卻沒申請(qǐng))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市系洛,隨后出現(xiàn)的幾起案子扰肌,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件派昧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡则剃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門如捅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棍现,“玉大人,你說我怎么就攤上這事镜遣〖喊梗” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵悲关,是天一觀的道長谎僻。 經(jīng)常有香客問我,道長寓辱,這世上最難降的妖魔是什么艘绍? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮秫筏,結(jié)果婚禮上诱鞠,老公的妹妹穿的比我還像新娘。我一直安慰自己这敬,他們只是感情好航夺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鹅颊,像睡著了一般敷存。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上堪伍,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天锚烦,我揣著相機(jī)與錄音,去河邊找鬼帝雇。 笑死涮俄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尸闸。 我是一名探鬼主播彻亲,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼吮廉!你這毒婦竟也來了苞尝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤宦芦,失蹤者是張志新(化名)和其女友劉穎宙址,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體调卑,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抡砂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年大咱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片注益。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碴巾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丑搔,到底是詐尸還是另有隱情厦瓢,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布低匙,位于F島的核電站旷痕,受9級(jí)特大地震影響碳锈,放射性物質(zhì)發(fā)生泄漏顽冶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一售碳、第九天 我趴在偏房一處隱蔽的房頂上張望强重。 院中可真熱鬧,春花似錦贸人、人聲如沸间景。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倘要。三九已至,卻和暖如春十拣,著一層夾襖步出監(jiān)牢的瞬間封拧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工夭问, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泽西,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓缰趋,卻偏偏與公主長得像捧杉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秘血,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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

  • 對(duì)于Java程序員來說味抖,在虛擬機(jī)自動(dòng)內(nèi)存管理機(jī)制幫助下,不需要為每一個(gè)new操作去寫配對(duì)的delete/free代...
    codersm閱讀 187評(píng)論 0 1
  • 第二部分 自動(dòng)內(nèi)存管理機(jī)制 第二章 java內(nèi)存異常與內(nèi)存溢出異常 運(yùn)行數(shù)據(jù)區(qū)域 程序計(jì)數(shù)器:當(dāng)前線程所執(zhí)行的字節(jié)...
    小明oh閱讀 1,164評(píng)論 0 2
  • 我常常聽到反思的重要性灰粮,也早在《財(cái)富自由之路》中看到了反思是培養(yǎng)元認(rèn)知能力的方法之一仔涩。但時(shí)間久了,慢慢地淡忘了谋竖。當(dāng)...
    超_Megan閱讀 1,517評(píng)論 5 1
  • 你們的
    叢巖國閱讀 150評(píng)論 0 0
  • 愿等風(fēng)來 愿等你歸來 愿等你踏上舞臺(tái) 在這世上活的多姿多彩……
    桐云閱讀 252評(píng)論 0 0