老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

JVM中內存結構是怎么樣的-創新互聯

這篇文章主要介紹了JVM中內存結構是怎么樣的,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

十余年的西疇網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整西疇建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯公司從事“西疇網站設計”,“西疇網站推廣”以來,每個客戶項目都認真落實執行。

圖為Java虛擬機運行時的數據區:

JVM中內存結構是怎么樣的

1.方法區

也稱"永久代” 、“非堆”,  它用于存儲虛擬機加載的類信息、常量、靜態變量、是各個線程共享的內存區域。默認最小值為16MB,大值為64MB(未驗證),可以通過-XX:PermSize 和 -XX:MaxPermSize 參數限制方法區的大小。

運行時常量池:是方法區的一部分,Class文件中除了有類的版本、字段、方法、接口等描述信息外,還有一項信息是常量池,用于存放編譯器生成的各種符號引用,這部分內容將在類加載后放到方法區的運行時常量池中。

2.虛擬機棧

描述的是java 方法執行的內存模型:每個方法被執行的時候 都會創建一個“棧幀”用于存儲局部變量表(包括參數)、操作棧、方法出口等信息。每個方法被調用到執行完的過程,就對應著一個棧幀在虛擬機棧中從入棧到出棧的過程。聲明周期與線程相同,是線程私有的。

 局部變量表存放了編譯器可知的各種基本數據類型(boolean、byte、char、short、int、float、long、 double)、對象引用(引用指針,并非對象本身),其中64位長度的long和double類型的數據會占用2個局部變量的空間,其余數據類型只占1 個。局部變量表所需的內存空間在編譯期間完成分配,當進入一個方法時,這個方法需要在棧幀中分配多大的局部變量是完全確定的,在運行期間棧幀不會改變局部 變量表的大小空間。

3.本地方法棧

 與虛擬機棧基本類似,區別在于虛擬機棧為虛擬機執行的java方法服務,而本地方法棧則是為Native方法服務。

4.堆 

也叫做java 堆、GC堆,是java虛擬機所管理的內存中大的一塊內存區域,也是被各個線程共享的內存區域,在JVM啟動時創建。該內存區域存放了對象實例及數組(所有new的對象)。其大小通過-Xms(最小值)和-Xmx(大值)參數設置,-Xms為JVM啟動時申請的最小內存,-Xmx為JVM可申請的大內存。在JVM啟動時,大內存會被保留下來。為對象內存而保留的地址空間可以被分成年輕代和老年代。

默認當空余堆內存小于40%時,JVM會增大Heap到-Xmx指定的大小,可通過-XX:MinHeapFreeRation=來指定這個比列;當空余堆內存大于70%時,JVM會減小heap的大小到-Xms指定的大小,可通過XX:MaxHeapFreeRation=來指定這個比列,對于運行系統,為避免在運行時頻繁調整Heap的大小,通常-Xms與-Xmx的值設成一樣。

Parameter

Default Value

MinHeapFreeRatio

40

MaxHeapFreeRatio

70

-Xms

3670k

-Xmx

64m

注:如果是64位系統,這些值一般需要擴張30%,來容納在64位系統下變大的對象。

從J2SE 1.2開始,JVM使用分代收集算法,在不同年代的區域里使用不同的算法。堆被劃分為新生代和老年代。新生代主要存儲新創建的對象和尚未進入老年代的對象。老年代存儲經過多次新生代GC(MinorGC)任然存活的對象。

JVM中內存結構是怎么樣的

注1:圖中的Perm不是堆內存,是永久代

注2:圖中的Virtaul則是各區域還未被分配的內存,即大內存-當前分配的內存

新生代:

新生代包括一塊eden(伊甸園)和2塊survivor(通常又稱S0和S1或From和To)。大多數對象都是在eden中初始化。而對于2塊survivor來說,總有一塊是空的,它會在下一個復制收集過程中作為eden中的活躍對象和另一塊survivor的目的地。在對象衰老之前(也就是被復制到tenured之前),它們會在兩塊survivor區域之間以這樣的方式復制。可通過-Xmn參數來指定新生代的大小,也可以通過-XX:SurvivorRation來調整Eden Space及Survivor Space的大小。

老年代:

用于存放經過多次新生代Minor GC依然存活的對象,例如緩存對象,新建的對象也有可能直接進入老年代,主要有兩種情況:①.大對象,可通過啟動參數設置-XX:PretenureSizeThreshold=1024(單位為字節,默認為0)來代表超過多大時就不在新生代分配,而是直接在老年代分配。②.大的數組對象,即數組中無引用外部對象。

老年代所占的內存大小為-Xmx對應的值減去-Xmn對應的值。

5.程序計數器 

是最小的一塊內存區域,它的作用是當前線程所執行的字節碼的行號指示器,在虛擬機的模型里,字節碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令,分支、循環、異常處理、線程恢復等基礎功能都需要依賴計數器完成。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JVM中內存結構是怎么樣的”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯-成都網站建設公司行業資訊頻道,更多相關知識等著你來學習!


網頁題目:JVM中內存結構是怎么樣的-創新互聯
當前路徑:http://www.xueling.net.cn/article/dsgohe.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 高潮真紧好爽我视频 | 欧美日韩综合久久 | av片免费播放 | 亚洲欧洲国产精品久久 | 日本成本人片免费网站 | 国产综合无码久久亚洲 | 毛片免费无限看 | 一级毛片免费 | 成人免费黄色视频 | 久久精品AⅤ无码中文字字幕重口 | 国产精品久久久久久久久免费高清 | 48国产吹潮在线观看 | 日本一本不卡 | 狠狠做深爱婷婷久久综合一区 | 国产一女三男实拍视频 | 天天骑天天操 | 国产精品96 | 免费看国产 | 亚洲国产一区自拍 | 无码精品一区二区三区在线 | 国产91免费看 | 久久久久99精品成人片 | 国产女人18毛片水真多18精品 | 福利视频免费 | 亚洲爆乳精品无码一区二区 | 黑人巨大精品欧美在线观看 | 亚洲日韩乱码中文字幕 | 两个人看的www在线观看视频 | 国产精品亚欧美一区二区 | 国产成人欧美视频在线观看 | 亚洲精品网站在线观看 | 国产精品入口 | 成aⅴ人免费观看中文字幕 日韩一级黄色大片 | 免费人妻无码不卡中文字幕系列 | 国产精品18久久久久久白浆动漫 | 四虎久久久久 | 丰满人妻无奈张开双腿AV | 国产午夜亚洲精品国产成人小说 | 日本成人中文字幕 | 国产乱仑视频 | 羞羞答答xxdd.tv |