国产精品无码一区二区三区太,亚洲一线产区二线产区区别,欧美A区,人妻jealousvue人妻

×

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

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-10 13:21:43

虛擬機(jī)的運(yùn)行時(shí)數(shù)據(jù)區(qū)管理著內(nèi)存,分為五個(gè)區(qū)域。方法區(qū),虛擬機(jī)棧,本地方法棧(有些虛擬機(jī)把這兩個(gè)棧合二為一),堆,程序計(jì)數(shù)器。

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

<div>  虛擬機(jī)的運(yùn)行時(shí)數(shù)據(jù)區(qū)管理著內(nèi)存,分為五個(gè)區(qū)域。方法區(qū),虛擬機(jī)棧,本地方法棧(有些虛擬機(jī)把這兩個(gè)棧合二為一),堆,程序計(jì)數(shù)器。
IC564317.jpg
  程序計(jì)數(shù)器: 每個(gè)線程處理Java方法執(zhí)行位置的程序計(jì)數(shù)器所在內(nèi)存區(qū)域。本地方法計(jì)數(shù)器為空,屬于線程私有,即線程各自的程序計(jì)數(shù)器互不干擾。這個(gè)不會(huì)彈溢出異常,其余區(qū)域都會(huì)彈溢出異常。
  Java虛擬機(jī)棧 :Java方法執(zhí)行時(shí),創(chuàng)建一個(gè)棧幀,保存局部變量表,方法出口等方法相關(guān)信息,屬于線程私有區(qū)域。
  本地方法棧:與Java虛擬機(jī)棧相似,本地方法執(zhí)行時(shí),保存方法相關(guān)信息。
  Java堆:存放對象的內(nèi)存區(qū)域。里面可以分為線程共享區(qū)域和線程私有區(qū)域。
  方法區(qū):屬于線程共享區(qū)域,存儲(chǔ)類信息,靜態(tài)變量,代碼。
  當(dāng)創(chuàng)建線程過多時(shí),會(huì)彈出OutOfMemory異常,這是因?yàn)橄到y(tǒng)內(nèi)存不足以分配Java虛擬機(jī)請求的棧內(nèi)存。如果在方法中死循環(huán)爆出異常,這是StackOutOfMomory異常。棧的大小超出虛擬機(jī)規(guī)定大小。
  堆又分為老年代和新生代(方法區(qū)被稱作永久代),老年代主要采用標(biāo)記整理方法清理內(nèi)存,新生代通過復(fù)制法清理內(nèi)存。復(fù)制法思想將新生代區(qū)分為eden區(qū)和兩個(gè)survior區(qū),清理eden區(qū)和其中一個(gè)survior區(qū),將存活的引用復(fù)制到另一個(gè)survior區(qū),如果survior區(qū)大小不夠,向老年代借空間存儲(chǔ)。minorGC和FullGC不同之處,minorGC只清理新生代,F(xiàn)ullGC連老年代也清理。
  判斷對象已死的算法是根搜索算法。

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading