亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×
新網 > 虛擬主機 > 正文

深入理解Java虛擬機 - Java內存區域

  • 作者:
  • 來源:
  • 瀏覽:100
  • 2018-05-04 15:15:29

Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。 這些區域都有各自的用途,以及創建和銷毀的時間,有的區域隨著虛擬機進程的啟動而存在,有些區域則依賴用戶線程的啟動和結束而建立和銷毀。

   t01996f7a68eec06529.jpg

<div>Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。 這些區域都有各自的用途,以及創建和銷毀的時間,有的區域隨著虛擬機進程的啟動而存在,有些區域則依賴用戶線程的啟動和結束而建立和銷毀。 
  程序計數器
  程序計數器:是一塊較小的內存空間,它可以看作是當前線程所執行的字節碼的行號指示器。每個線程都有自己的獨立的程序計數器。如果線程正在執行的是Java方法,那么這個計數器的值就是正在執行的虛擬機字節碼指令的地址;如果正在執行的是Native方法,這個計數器值為空(undefined)。此內存區域是唯一一個在Java虛擬機規范中沒有規定任何OutOfMemoryError情況的區域。
  Java虛擬機棧
  線程私有的,它的生命周期與線程相同。虛擬機棧描述的是Java方法執行的內存模型:每個方法執行的同時都會創建一個棧幀用于存儲局部變量表、操作數棧、動態鏈接、方法出口等信息。局部變量表存放了編譯期可知的各種基本數據類型(boolean、byte、char、short、int、float、long、double)、對象引用和returnAddress類型(指向了一條字節碼指令的地址)。其中64位長度的long和double類型的數據會占用2個局部變量空間(slot),其余的數據類型占1個。局部變量表所需的內存空間在編譯期間分配完成,當進入一個方法時,這個方法需要在幀中分配多大的局部變量空間是完全確定的,在方法運行期間不會改變局部變量表的大小。如果線程請求棧的深度大于虛擬機所允許的深度,將拋出StackOverflowError異常;無法申請到內存拋出OutOfMemoryError異常。
  本地方法棧
  本地方法棧與虛擬機棧所發揮的作用是非常相似的,它們之間的區別不過是虛擬機棧為虛擬機執行java方法,而本地棧則為虛擬機使用到的Native方法服務。
  Java堆
  Java堆是線程共享的,在虛擬機啟動時創建。此區域的唯一目的就是存放對象實例,幾乎所有的對象實例都在這里分配內存。Java堆是垃圾收集器管理的主要區域,因此很多時候也被稱作“GC堆”。由于現在收集器基本都采用分代收集算法,所以Java堆中還可以細分為:新生代和老年代;再細致一點的有Eden空間、From Survivor空間、To Survivor空間等。在實現時,既可以實現成固定大小的,也可以是可擴展的,不過當前主流的虛擬機都是按照可擴展來實現的(通過-Xmx和-Xms控制)。
  方法區(永久代)
  線程共享,用于存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。這區域的內存回收目標主要是針對常量池的回收和對類型的卸載!
  運行時常量池
  他是方法區的一部分,Class文件中除了有類的版本、字段、方法、接口等描述信息外,還有一項信息就是常量池,用于存放編譯期生成的各種字面量和符號引用,這部分內容將在類加載后進入方法區的運行時常量池中存放。
  直接內存
直接內存不是虛擬機運行時數據區的一部分。但是這部分內存也被頻繁地使用,而且也可能導致OutOfMemoryError異常出現。在JDK1.4中新加入了NIO類,引入了一種基于通道與緩存區(buffer)的I/O方式,它可以使用Native函數庫直接分配堆外內存,然后通過一個存儲在Java堆中的DirectByteBuffer對象作為這塊內存的引用進行操作。這樣能在一些場景中顯著提高性能,因為避免了在Java堆和Native堆中來回復制數據。
以上就是Java內存區域的全部介紹。
 

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

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 精品国产三级在线观看| 欧美精品一区二区三区四区 在线 欧美精品一区二区三区香蕉 | 国产女人被狂躁到高潮小说| 亚洲无av码在线中文字幕| 成人乱人乱一区二区三区| 亚洲第一区视频在线播放| 久久99精国产一区二区三区四区| 男人女人午夜视频免费| av永久免费网站在线观看| 精品熟女少妇av免费久久| 亚洲精品一区二区三区视频在线观看 | 国产精品乱子伦xxxx裸| 国产成人精品免费视频大全| 亚洲色成人一区二区三区| 国产在线播放精品视频| 国产99久久久国产精品~~牛| 午夜亚洲aⅴ无码高潮片苍井空| 国内熟女啪啪自拍| 6080亚洲人久久精品| 日本一区二区三区免费播放| 国自产拍偷拍精品啪啪一区二区 | 精品毛片乱码1区2区3区| 88国产精品视频一区二区三区| 亚洲欧美在线综合色影视| 日本不卡在线视频二区三区| 国产精品国产三级国产试看 | 亚洲日韩乱码中文无码蜜桃臀 | 中文字幕在线不卡精品视频99| 日韩三级视频一区| 豆国产93在线 | 亚洲| 黑鬼大战白妞高潮喷白浆 | 亚洲精品9999久久久久无码| 精品精品国产自在97香蕉| 夜夜未满十八勿进的爽爽影院| 少妇性荡欲午夜性开放视频剧场| 国产精品成人99一区无码| 日日碰狠狠躁久久躁96| 成人毛片无码一区二区| 国产精品无码翘臀在线观看| 67194熟妇人妻欧美日韩| 欧美黑人精品一区二区在线|