Java内存模型(JMM)

2019-08-05  本文已影响0人  CHIMPL

Java内存模型

线程共享数据区

数据共享区也是我们经常说的堆区

  1. 方法区
    又叫静态区,所有线程共享,用于存储已经被虚拟机加载的类信息,常量,静态变量,即使编译后的代码数据等。

  2. 堆(heap)

    • 所有线程共享,用来存放Java对象实例,不存放基本类型和对象引用
    • 堆又分为新生代和老年代

线程私有数据区

  1. 虚拟栈
    虚拟栈生命周期与线程相同,启动一个线程,程序调用函数,栈帧 被压入栈中,函数调用结束,栈帧出栈。
    栈桢组成:

    • 局部变量表
    • 操作数栈
    • 桢数据区
  2. 程序计数器
    记录当前线程字节码的行号

  3. 本地方法栈
    与虚拟机栈相似,虚拟机栈记录的是Java方法服务,而本地方法记录的是Java中native方法(JNI)服务

更详细如下图

jmm.png 图片来自互联网
上一篇 下一篇

猜你喜欢

热点阅读