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

相关文章
相关标签/搜索