JVM 運行時數據區與指令

JVM 運行時數據區與指令c++


圖片


  • PC:program counter:程序計數器app

  • Method Area:方法區:邏輯概念,1.7以前指的PermSapce(永久區)1.8以後的MetaSapce(原數據區)jvm

  • Native Method astacks:由c++等編輯的本地方法,通常無法進行調優ide

  • Heap:堆內存:調優重點spa

  • Run-time constant pool :運行時常量池。線程

  • Direct Memory:直接內存區,NIO提升效率實現zero copy的區域,讓jvm能夠直接訪問內核空間的內存(OS管理的內存)orm

以下圖:每一個線程都有PC VMS(棧) NMS(方法區) 對象


圖片


每一個方法都有本身的棧幀blog

  • Local Variables:本地變量表:變量名稱圖片

  • Orerand Stacks:操做數棧:堆內存的引用

  • Dynamic Linking 動態連接:其餘對象引用


如何證實1.7 字符串常量位於Perm,1.8位於堆內存?

回答:結合GC,一直建立字符串常量,觀察堆和matespace

相關文章
相關標籤/搜索