美文网首页
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