java創(chuàng)建對(duì)象在jvm中的具體的步驟流程以及相關(guān)內(nèi)存泄露解釋

我們知道在java中創(chuàng)建對(duì)象最簡(jiǎn)單的方式就是 new 但是 在這簡(jiǎn)單的new之后,jvm到底是怎么給我們這個(gè)實(shí)例對(duì)象分配內(nèi)存的,

1首先我們要理解jvm中的內(nèi)存模型jvm中內(nèi)存模型從大了說觅闽,主要分為棧內(nèi)存忌愚,堆內(nèi)存揍鸟,當(dāng)然還有一些其他的包括寄存器妒穴,線程棧等等,今天我重點(diǎn)說一下堆內(nèi)存結(jié)構(gòu)模型

堆內(nèi)存里面在細(xì)分新生代寒矿,舊生代鹦聪,新生代包括一個(gè)eden區(qū)和兩個(gè)survivo區(qū)

當(dāng)申請(qǐng)新對(duì)象的時(shí)候內(nèi)存申請(qǐng)過程如下:

a、jvm先嘗試在eden區(qū)分配新建對(duì)象所需的內(nèi)存充坑;

b减江、如果內(nèi)存大小足夠,申請(qǐng)結(jié)束捻爷,否則下一步辈灼;

c、jvm啟動(dòng)youngGC也榄,試圖將eden區(qū)中不活躍的對(duì)象釋放掉巡莹,釋放后若Eden空間仍然不足以放入新對(duì)象,則試圖將部分Eden中活躍對(duì)象放入Survivor區(qū);

d降宅、Survivor區(qū)被用來作為Eden及old的中間交換區(qū)域骂远,當(dāng)OLD區(qū)空間足夠時(shí),Survivor區(qū)的對(duì)象會(huì)被移到Old區(qū)腰根,否則會(huì)被保留在Survivor區(qū)激才;

e、?當(dāng)OLD區(qū)空間不夠時(shí)唠雕,JVM會(huì)在OLD區(qū)進(jìn)行full GC;

f吨述、full GC后岩睁,若Survivor及OLD區(qū)仍然無法存放從Eden復(fù)制過來的部分對(duì)象,導(dǎo)致JVM無法在Eden區(qū)為新對(duì)象創(chuàng)建內(nèi)存區(qū)域揣云,則出現(xiàn)”out of memory錯(cuò)誤”:

outOfMemoryError:javaheap space

2?方法區(qū)內(nèi)存溢出outOfMemoryError:permgem space

在jvm規(guī)范中捕儒,方法區(qū)主要存放的是類信息、常量邓夕、靜態(tài)變量等刘莹。

所以如果程序加載的類過多,或者使用反射焚刚、gclib等這種動(dòng)態(tài)代理生成類的技術(shù)点弯,就可能導(dǎo)致該區(qū)發(fā)生內(nèi)存溢出,一般該區(qū)發(fā)生內(nèi)存溢出時(shí)的錯(cuò)誤信息為:

outOfMemoryError:permgem space

線程棧溢出java.lang.StackOverflowError

線程棧時(shí)線程獨(dú)有的一塊內(nèi)存結(jié)構(gòu)矿咕,所以線程棧發(fā)生問題必定是某個(gè)線程運(yùn)行時(shí)產(chǎn)生的錯(cuò)誤抢肛。

一般線程棧溢出是由于遞歸太深或方法調(diào)用層級(jí)過多導(dǎo)致的。

發(fā)生棧溢出的錯(cuò)誤信息為:

java.lang.StackOverflowError

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碳柱,一起剝皮案震驚了整個(gè)濱河市捡絮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌莲镣,老刑警劉巖福稳,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瑞侮,居然都是意外死亡的圆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門半火,熙熙樓的掌柜王于貴愁眉苦臉地迎上來略板,“玉大人,你說我怎么就攤上這事慈缔《3疲” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瓤檐。 經(jīng)常有香客問我赂韵,道長(zhǎng),這世上最難降的妖魔是什么挠蛉? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任祭示,我火速辦了婚禮,結(jié)果婚禮上谴古,老公的妹妹穿的比我還像新娘质涛。我一直安慰自己,他們只是感情好掰担,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布汇陆。 她就那樣靜靜地躺著,像睡著了一般带饱。 火紅的嫁衣襯著肌膚如雪毡代。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天勺疼,我揣著相機(jī)與錄音教寂,去河邊找鬼。 笑死执庐,一個(gè)胖子當(dāng)著我的面吹牛酪耕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轨淌,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼因妇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了猿诸?” 一聲冷哼從身側(cè)響起婚被,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梳虽,沒想到半個(gè)月后址芯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窜觉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年谷炸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禀挫。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旬陡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出语婴,到底是詐尸還是另有隱情描孟,我是刑警寧澤驶睦,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站匿醒,受9級(jí)特大地震影響场航,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜廉羔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一溉痢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧憋他,春花似錦孩饼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至此迅,卻和暖如春汽畴,著一層夾襖步出監(jiān)牢的瞬間旧巾,已是汗流浹背耸序。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲁猩,地道東北人坎怪。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像廓握,于是被迫代替她去往敵國和親搅窿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • JVM內(nèi)存模型Java虛擬機(jī)(Java Virtual Machine=JVM)的內(nèi)存空間分為五個(gè)部分隙券,分別是: ...
    光劍書架上的書閱讀 2,509評(píng)論 2 26
  • 從三月份找實(shí)習(xí)到現(xiàn)在男应,面了一些公司,掛了不少娱仔,但最終還是拿到小米沐飘、百度、阿里牲迫、京東耐朴、新浪、CVTE盹憎、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,243評(píng)論 11 349
  • Java8張圖 11筛峭、字符串不變性 12、equals()方法陪每、hashCode()方法的區(qū)別 13影晓、...
    Miley_MOJIE閱讀 3,702評(píng)論 0 11
  • 流動(dòng)理發(fā)員 騎一輛自行車镰吵, 走街串巷,車上裝著自己的全部家當(dāng)俯艰, 幾把推子捡遍,幾把刀子, 幾個(gè)刷子竹握, 一壺開水画株, 一塊...
    阿超Lilian閱讀 176評(píng)論 0 0
  • 我愿做一只蜘蛛, 蜘蛛是孤單的啦辐, 始終擺脫不了那張網(wǎng)谓传, 我卻要將網(wǎng)撕碎。 我愿做一顆小草芹关, 小草是落寞的续挟, 永遠(yuǎn)被...
    淺笑薄言閱讀 213評(píng)論 0 2