【012】2020.11.11 週三 --《Java運行時數據區域》




程序計數器

    當前線程所執行的字節碼的行號指示器

    每個線程都有一個程序計數器,私有不共享

    這個是唯一一個不會發生OOM的內存區域


Java虛擬機棧

    局部變量表

    局部變量槽

    異常

         StackOverFlowError

        OutOfMemoryError


本地方法棧

    與Java虛擬機棧作用類似

    HotSpot虛擬機將Java虛擬機棧和本地方法棧合二爲一了


Java堆

    最大的一塊內存區域,大家共享

    存放對象實例

    分區

        新生代

        老年代

        永久代(後變成了元空間)

        Eden空間

        From Survivor空間

        To Survivor空間


方法區

    各個線程共享

    最初由永久代實現,後修改爲了元空間實現

    運行時常量池

    其他

        直接內存

            不屬於虛擬機運行時數據區

               但是這部分內存被頻繁地使用

                也可能導致OOM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章