美文网首页
Java内存模型(JMM)

Java内存模型(JMM)

作者: CHIMPL | 来源:发表于2019-08-05 22:27 被阅读0次

Java内存模型

线程共享数据区

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

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

  2. 堆(heap)

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

线程私有数据区

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

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

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

更详细如下图

jmm.png 图片来自互联网

相关文章

网友评论

      本文标题:Java内存模型(JMM)

      本文链接:https://www.haomeiwen.com/subject/dbuvdctx.html