中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于jvm java內存區域的介紹

發布時間:2020-09-18 04:42:48 來源:腳本之家 閱讀:132 作者:jingxian 欄目:編程語言
jvm虛擬機在運行時需要用到的內存區域.廣泛一點就是堆和棧,其實不然,堆和棧只是相對比較籠統的說法,真正區分有如下幾個
先上圖一:
基于jvm java內存區域的介紹

總的就是

java的內存模型

內存模型又分堆內存(heap)和方法區(有時也稱為non-heap)和棧

堆又分新生代(Young)和老年代(old/Tenured)

新生代又分默認比例為8:1:1的eden空間、from survivor空間、to survivor空間

當進行垃圾回收時,eden、survivor from 存活得對象會復制到servivor to空間

接著from與to空間互換.(當from區的對象足夠老時,即標記的次數達到老年級別,便到老年代去)

內存的大小設置參數可以如下一張圖說明

基于jvm java內存區域的介紹

-XMS:堆的最小空間

-XMX:堆的最大空間

-PermSize:方法區的最小空間

-MaxPermSize:方法區的最大空間

-Xss:每個線程的堆棧空間

-newSize:新生代最小空間

-maxNewSize:新生代最大空間

老年代內存可以通過設置堆的大寫和新生代的大小來控制

老年代內存=堆內存-新生代內存

基于jvm java內存區域的介紹

程序計數器

線程私有,控制著字節碼所執行的行數.調用本地方法(native)時為空

當前線程所執行的字節碼的行號指示器,字節碼解釋器就是在工作時通過改變計數器的行號來獲獲取要執行的字節碼指令.調用本地方法(native)時計數器為空

虛擬機棧

線程私有,java執行方法的內存模型

每個方法執行的時候都會創建一個棧幀,用于存放局部變量、操作數棧、動態鏈接、方法出口等信息

局部變量表:基本數據類型、對象引用、long和double類型占兩個局部變量空間

每調用一個方法,都會對參數進行壓棧

本地方法棧

線程私有.調用native方法時

堆:

堆內存

線程共享,對象的實例以及數組都存儲在這里

堆又分新生代、老年代

在分代收集算法中,新生代又分eden空間、from survitor空間 和to survitor空間).它們之間內存比例為8:1:1

方法區

線程共享

存放類的信息、常量、靜態變量、即時編譯后的代碼

方法區下又有運行時常量池:存放編譯期生成的字面量和符號引用

以上這篇基于jvm java內存區域的介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善左旗| 韶山市| 新龙县| 五指山市| 乃东县| 庆云县| 乐都县| 板桥市| 兰坪| 江源县| 礼泉县| 武强县| 中卫市| 米林县| 嵊泗县| 元阳县| 平和县| 民勤县| 新余市| 海晏县| 泽州县| 田阳县| 靖边县| 五台县| 平潭县| 湄潭县| 阜新| 闻喜县| 民县| 东海县| 曲阜市| 黔东| 赞皇县| 扎兰屯市| 绩溪县| 上栗县| 资源县| 大厂| 清水县| 麻栗坡县| 休宁县|