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

溫馨提示×

溫馨提示×

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

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

什么是運行時數據區

發布時間:2021-10-11 17:56:18 來源:億速云 閱讀:173 作者:iii 欄目:編程語言

這篇文章主要講解了“什么是運行時數據區”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是運行時數據區”吧!

前言

本節主要講的是運行時數據區,也就是下圖這部分,它是在類加載完成后的階段

什么是運行時數據區

當我們通過前面的:類的加載-> 驗證 -> 準備 -> 解析 -> 初始化 這幾個階段完成后,就會用到執行引擎對我們的類進行使用,同時執行引擎將會使用到我們運行時數據區

什么是運行時數據區

也就是大廚做飯,我們把大廚后面的東西(切好的菜,刀,調料),比作是運行時數據區。而廚師可以類比于執行引擎,將通過準備的東西進行制作成精美的菜品

什么是運行時數據區

內存是非常重要的系統資源,是硬盤和CPU的中間倉庫及橋梁,承載著操作系統和應用程序的實時運行JVM內存布局規定了Java在運行過程中內存申請、分配、管理的策略,保證了JVM的高效穩定運行。不同的JVM對于內存的劃分方式和管理機制存在著部分差異(主要針對方法區)。結合JVM虛擬機規范,來探討一下經典的JVM內存布局。

我們通過磁盤或者網絡IO得到的數據,都需要先加載到內存中,然后CPU從內存中獲取數據進行讀取,也就是說內存充當了CPU和磁盤之間的橋梁

運行時數據區的完整圖

什么是運行時數據區

  • Java虛擬機定義了若干種程序運行期間會使用到的運行時數據區,其中有一些會隨著虛擬機啟動而創建,隨著虛擬機退出而銷毀。另外一些則是與線程一一對應的,這些與線程對應的數據區域會隨著線程開始和結束而創建和銷毀。

  • 灰色的為單獨線程私有的,紅色的為多個線程共享的。即:

    • 每個線程:獨立包括程序計數器、棧、本地棧。

    • 線程間共享:堆、堆外內存(永久代或元空間(理解為方法區)、代碼緩存) 

什么是運行時數據區

關于線程間共享的說明:

什么是運行時數據區

每個JVM只有一個Runtime實例。即為運行時環境,相當于內存結構的中間的那個框框:運行時環境

線程

  • 線程是一個程序里的運行單元。JVM允許一個應用有多個線程并行的執行。 

  • 在Hotspot JVM里,每個線程都與操作系統的本地線程直接映射。

    • 當一個Java線程準備好執行以后,此時一個操作系統的本地線程也同時創建。Java線程執行終止后,本地線程也會回收。

  • 操作系統負責所有線程的安排調度到任何一個可用的CPU上。一旦本地線程初始化成功,它就會調用Java線程中的run()方法。

JVM系統線程

  • 如果你使用jconsole或者是任何一個調試工具,都能看到在后臺有許多線程在運行。這些后臺線程不包括調用public static void main(String[])的main線程以及所有這個main線程自己創建的線程。

  • 這些主要的后臺系統線程在Hotspot JVM里主要是以下幾個:

    • 虛擬機線程:這種線程的操作是需要JVM達到安全點才會出現。這些操作必須在不同的線程中發生的原因是他們都需要JVM達到安全點,這樣堆才不會變化。這種線程的執行類型包括"stop-the-world"的垃圾收集,線程棧收集,線程掛起以及偏向鎖撤銷。

    • 周期任務線程:這種線程是時間周期事件的體現(比如中斷),他們一般用于周期性操作的調度執行。

    • GC線程:這種線程對在JVM里不同種類的垃圾收集行為提供了支持。

    • 編譯線程:這種線程在運行時會將字節碼編譯成到本地代碼。

    • 信號調度線程:這種線程接收信號并發送給JVM,在它內部通過調用適當的方法進行處理。

感謝各位的閱讀,以上就是“什么是運行時數據區”的內容了,經過本文的學習后,相信大家對什么是運行時數據區這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

静宁县| 台北市| 迁安市| 施秉县| 红原县| 于都县| 西安市| 三明市| 新郑市| 聂拉木县| 山阴县| 特克斯县| 休宁县| 江津市| 工布江达县| 谢通门县| 阿巴嘎旗| 晋江市| 祁门县| 安吉县| 闸北区| 梅河口市| 安溪县| 枣庄市| 宁阳县| 东莞市| 黎川县| 高雄市| 冷水江市| 通州市| 边坝县| 石狮市| 陇南市| 余姚市| 巴中市| 铁岭县| 昂仁县| 浑源县| 阳朔县| 丹寨县| 桑日县|