18禁超污无遮挡无码网址极速丨亚洲精品久久国产片400部丨黑人巨茎美女高潮视频丨18禁裸乳啪啪无遮裆网站丨免费1级做爰片1000部视频

×
新網 > 虛擬主機 > 正文

JAVA虛擬機管理內存

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-10 13:21:43

虛擬機的運行時數據區管理著內存,分為五個區域。方法區,虛擬機棧,本地方法棧(有些虛擬機把這兩個棧合二為一),堆,程序計數器。

   JAVA虛擬機管理內存

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

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading