站長資訊網
        最全最豐富的資訊網站

        什么是JVM內存模型?

        本篇文章帶大家初步了解一下JVM內存模型,有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

        什么是JVM內存模型?

        計算機內存模型

        在程序運行時,CPU通過訪問主存獲取數據,但隨著CPU的快速發展,CPU訪問速度越來越高,硬件無法滿足CPU的條件下,大多內存加入了高速緩存機制,不同CPU都有對應的多級(一般為三)緩存,CPU取數時會先按照一級緩存-二級緩存-三級緩存-主存的順序進行訪問,提高了訪問速度,但同時不同的CPU的緩存內的數據可能是不一樣的,造成CPU與主存不能實現數據同步

        JAVA內存模型

        JAVA內存模型(Java Memory Model,JMM)是符合計算機內存模型規范的,通過設置內存屏障,屏蔽了不同硬件和操作系統的訪問差異的,保證java程序在不同平臺都能做到對內存的訪問效果一致的機制及規范。

        五大內存區域

        1.程序計數器

        每個線程都有程序計數器,程序計數器用來標識當前線程的程序字節碼的行號,java方法運行時,程序計數器保存的是字節碼文件的行號,native方法運行時,程序計數器的內容為空,不同的線程擁有其專屬的程序計數器,為線程所私有

        2.JAVA虛擬機棧

        每個方法在運行時都會創建一個棧幀,包括存儲局部變量表,操作棧,動態鏈接,方法出口等信息。每一個方法被調用的過程就對應一個棧幀在虛擬機棧中從入棧到出棧的過程。

        JAVA虛擬機棧主要用來存儲方法參數,方法內部的局部變量,編譯期間加載的數據類型和返回地址類型,為線程所私有

        3.本地方法棧

        與JAVA虛擬機棧作用相似,不同的是后者服務的是虛擬機運行的java方法(字節碼),本地方法棧服務的是虛擬機調用的native方法,即底層服務,一般用C或C++編寫

        4.堆

        堆是虛擬機加載的最大的一部分內存區域,用來存放對象實例,可以在不連續的內存地址進行存儲,只要邏輯地址連續即可。 分為新生代和老年代,新生代與老年代的比例為1:2(可以通過參數 –XX:NewRatio 來指定)

        5.方法區

        又稱為永久代,用來存放虛擬機加載的類信息,常量,靜態變量,是線程的共享區域,JDK8之后被廢棄,改用元空間

        推薦教程:java教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品热久久毛片| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产成人精品视频一区二区不卡 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日韩精品国产自在欧美| 国产精品欧美一区二区三区不卡| 国产精品美女久久久| 无码日韩精品一区二区免费暖暖| 国产精品无码一区二区三级| 亚洲精品一级无码鲁丝片 | 亚洲av无码成人精品区在线播放| 亚洲AV无码国产精品色午友在线| 精品国产v无码大片在线观看 | 国产精品视频第一页| 亚洲精品无码专区久久久| 国产精品欧美久久久久无广告| 亚洲国产精品成人久久| 精品久久久久久无码免费| 97久视频精品视频在线老司机 | 国产精品五月天强力打造| 久久九九青青国产精品| WWW国产精品内射老师| 欧美亚洲色综久久精品国产 | 久久精品国产91久久综合麻豆自制 | 亚洲国产精品一区二区第四页 | 欧美高清在线精品一区| 97精品国产福利一区二区三区| 国产精品内射久久久久欢欢 | 亚洲欧美精品午睡沙发| 久久精品国产亚洲Aⅴ香蕉| 91精品视频观看| 久久最新精品国产| 欧美精品手机在线播放| 91亚洲精品麻豆| 99久久精品免费看国产免费| 久久精品国产精品青草app| 国产精品久久久久国产A级| 国产精品白丝AV网站| 成人国内精品久久久久影院| 久久91精品国产91久久麻豆| 亚洲国语精品自产拍在线观看|