亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問操作系統為JVM進程分配的內存區域由誰管理?

請問操作系統為JVM進程分配的內存區域由誰管理?

操作系統為JVM進程分配的內存區域由誰管理?
查看完整描述

4 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

JVM 只是一個應用程序,他說模擬java運行環境的程序。 jvm 負責向操作系統申請內存。 首先,jvm會自己管理自己的虛擬內存。 但是操作系統會管理 jvm 向操作系統申請的內存。 所以,操作系統管理 JVM的內存使用和釋放,JVM 管理自己java虛擬機中的內存。

查看完整回答
反對 回復 2019-07-06
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

一個完整的Java程序運行過程會涉及以下內存區域:

 

         l  寄存器:JVM內部虛擬寄存器,存取速度非???,程序不可控制。

         l  棧:保存局部變量的值,包括:1.用來保存基本數據類型的值;2.保存類的實例,即堆區對象的引用(指針)。也可以用來保存加載方法時的幀。

         l  堆:用來存放動態產生的數據,比如new出來的對象。注意創建出來的對象只包含屬于各自的成員變量,并不包括成員方法。因為同一個類的對象擁有各自的成員變量,存儲在各自的堆中,但是他們共享該類的方法,并不是每創建一個對象就把成員方法復制一次。

         l  常量池:JVM為每個已加載的類型維護一個常量池,常量池就是這個類型用到的常量的一個有序集合。包括直接常量(基本類型,String)和對其他類型、方法、字段的符號引用(1)。池中的數據和數組一樣通過索引訪問。由于常量池包含了一個類型所有的對其他類型、方法、字段的符號引用,所以常量池在Java的動態鏈接中起了核心作用。常量池存在于堆中。

         l  代碼段:用來存放從硬盤上讀取的源程序代碼。

         l  數據段:用來存放static定義的靜態成員。


查看完整回答
反對 回復 2019-07-06
  • 4 回答
  • 0 關注
  • 1396 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號