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

×
新網 > 虛擬主機 > 正文

Java虛擬機堆棧

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-15 14:37:35

棧位于通用RAM中,但通過它的“堆棧指針”可以從處理器哪里獲得支持。堆棧指針若向下移動,則分配新的內存;若向上移動,則釋放那些內存。存儲讀取速度,僅次于寄存器。存放基本類型數據變量和對象、數組等引用類型的引用。

   棧位于通用RAM中,但通過它的“堆棧指針”可以從處理器哪里獲得支持。堆棧指針若向下移動,則分配新的內存;若向上移動,則釋放那些內存。存儲讀取速度,僅次于寄存器。存放基本類型數據變量和對象、數組等引用類型的引用。

<div>      4.Java堆
5fe3d114-83b1-4915-b2dc-75977c746cae.jpg
  是Java虛擬機所管理的內存中最大的一塊。由所有線程共享,在虛擬機啟動時創(chuàng)建。堆區(qū)唯一目的就是存放對象實例。
  堆中可細分為新生代和老年代,再細分可分為Eden空間、From Survivor空間、To Survivor空間。
  堆無法擴展時,拋出OutOfMemoryError異常
  5.方法區(qū)
  所有線程共享,存儲已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼等數據。
  當方法區(qū)無法滿足內存分配需求時,拋出OutOfMemoryError
  6.運行時常量池
  它是方法區(qū)的一部分,Class文件中除了有類的版本、字段、方法、接口等描述信息外,還有一項是常量池(Const Pool Table),用于存放編譯期生成的各種字面量和符號引用。并非預置入Class文件中常量池的內容才進入方法運行時常量池,運行期間也可能將新的常量放入池中,這種特性被開發(fā)人員利用得比較多的便是String類的intern()方法。
  當方法區(qū)無法滿足內存分配需求時,拋出OutOfMemoryError
  7.直接內存
  并不是虛擬機運行時數據區(qū)的一部分,也不是Java虛擬機規(guī)范中定義的內存區(qū)域。
  JDK1.4加入了NIO,引入一種基于通道與緩沖區(qū)的I/O方式,它可以使用Native函數庫直接分配堆外內存,然后通過一個存儲在Java堆中的DirectByteBuffer對象作為這塊內存的引用進行操作。因為避免了在Java堆和Native堆中來回復制數據,提高了性能。
  當各個內存區(qū)域總和大于物理內存限制,拋出OutOfMemoryError異常。

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

免費咨詢獲取折扣

Loading