91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java的內存溢出異常和內存區域介紹

發布時間:2020-05-25 14:14:58 來源:億速云 閱讀:279 作者:鴿子 欄目:編程語言

1.1  程序計數器

 

?  用途

每個線程都有一個程序計數器,用于記錄該線程當前所執行字節碼的行號。

natice方法由于不是java方法,因此當執行native方法時計數器為空。

?  創建時間

    線程啟動的同時

?  銷毀時間

    線程銷毀的同時

?  特點

線程私有,唯一一個java虛擬機規范中沒有規定OutOfMemeryError的內存區域。生命周期與線程相同。

 

1.2 虛擬機棧

 

?  用途:

每個方法執行的時都會創建一個棧幀用于存儲局部變量表(顧名思義,就是存儲該方法的局部變量對象的引用),操作數棧,動態鏈接,方法出口等信息。每一個方法從執行到完成就對應一個棧幀在虛擬機棧從入棧到出棧的過程。

?  創建時間:

線程啟動的同時

?  銷毀時間:

線程銷毀的同時

?  特點:

線程私有。每一個方法從執行到完成就對應一個棧幀在虛擬機棧從入棧到出棧的過程。虛擬機棧服務于java方法。

?  溢出異常:

    StackOverflowError:當線程請求的棧深度大于虛擬機所允許的深度時,拋出該異常。

 OutOfMemeoryError:如果虛擬機棧可以動態擴展,那么當動態擴展時無法申請到足夠的內存,就會拋出該異常。

?  內存大小設置方式:-Xss

    如-Xss256K: 就是設置每個線程的運行時棧的大小為 256K

    固定了棧內存大小后,當方法的局部變量表內容越多,棧幀越大,棧深度越小。

?  簡單的棧幀出入棧模型

Java的內存溢出異常和內存區域介紹Java的內存溢出異常和內存區域介紹

1.3 本地方法棧

?  用途:

    本地方法棧的作用與虛擬機棧的作用相似,但是本地方法棧是為虛擬機中使用到的Native方法服務的。

?  創建時間

    線程啟動的同時。

?  銷毀時間

    線程銷毀的同時。

?  特點:

    服務于Native方法。

?  溢出異常:

    StackOverflowError:當線程請求的棧深度大于虛擬機所允許的深度時,拋出該異常。

 OutOfMemeoryError:如果虛擬機棧可以動態擴展,那么當動態擴展時無法申請到足夠的內存,就會拋出該異常。

1.4 java

?  用途:

    用于存放對象。

?  創建時間:

    虛擬機啟動時。

?  銷毀時間:

    虛擬機銷毀時。

?  特點:

    1 各線程共享;

    2 是垃圾收集器管理的主要區域。java堆可以處于物理上不連續的內存空間,只要邏輯上是連續的即可。

?  溢出異常:

          OutOfMemeoryError:如果在堆中沒有完成實例分配,并且堆也無法再擴展時,將會拋出該異常。

?  內存大小設置方式:

    -Xmx 設置最大堆內存。

    -Xms 設置初始堆內存。

1.5方法區

?  用途:

用于存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。

?  創建時間

    虛擬機啟動時。

?  銷毀時間

    虛擬機銷毀時。

?  特點:

      所有線程共享。

HotSpot虛擬機1.8及以上版本,已將方法區從從永久代移出,取而代之使用的是元空間,元空間使用的是本地內存。

?  溢出異常:

          OutOfMemeoryError:當方法區無法滿足內存分配需求時,將拋出該異常。

?  參數設置

    "-XXMaxMetaspaceSize" JDK8):指定類元數據區的最大內存大小;

    "-XXMetaspaceSize" JDK8):MetaspaceSize表示metaspace首次使用不夠而觸發FGC的閾值;

    "-Xnolassgc":關閉CLASS的垃圾回收功能,就是虛擬機加載的類,即便是不使用,沒有實例也不會回收。

    "-verbose:class""-XX:TraceClassLoading""-XX:TraceClassUnloading":查看類加載和卸載信息;

 

1.6運行時常量池

?  用途:

    編譯期生成的各種字面量和符號引用。

?  特點:

    屬于方法區中的一部分。

    相對于Class文件的常量池,運行時常量池具有動態性,運行期間新的常量也會被放入池中。該特性被開發人員利用較多的是String類的intern()方法。


向AI問一下細節

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

AI

惠来县| 东光县| 洛阳市| 泗水县| 静乐县| 资中县| 介休市| 伊川县| 宜君县| 白城市| 木里| 乌审旗| 沾益县| 永泰县| 全椒县| 武安市| 建宁县| 广昌县| 龙海市| 页游| 长白| 富宁县| 柳州市| 遂溪县| 中牟县| 巴彦淖尔市| 监利县| 普兰店市| 本溪| 蓝田县| 土默特左旗| 额济纳旗| 巫溪县| 武义县| 西青区| 曲靖市| 绩溪县| 凭祥市| 工布江达县| 杭州市| 西平县|