JVM——内存区域

线程独有:

  • 程序计数器

  • 虚拟机栈,每个栈帧包含:

    • 局部变量表
    • 操作数栈
    • 动态链接
    • 程序返回地址
  • 本地方法栈

线程共享:

  • 方法区:jdk1.7为永久代,在运行时数据区中;jdk1.8为元空间,在本地内存中

    • 类信息
    • JIT代码缓存
    • 运行时常量池
  • 静态变量、字符串常量池:jdk1.6在永久代中,jdk1.7移动至堆中

  • 直接内存:在本地内存中