1.JVM内存布局

  内存是非常重要的系统资源,是硬盘和CPU的中间仓库和桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。

【注:JVM内存布局(内存结构)和JMM内存模型是两个不同的概念】

          

图例所示是java8以上的内存布局,实际上堆区是内存的最大区域,内存布局(由上至下)分为:

  • 本地方法栈(Native Method Stacks)
  • 程序计时器(Programmer Counter Register)
  • 虚拟机栈(JVM Stacks)
  • 堆区(Heap)
  • 元数据区(Metaspace)
  • JVM代码缓存(CodeCache)
  • Direct Memory(直接内存)

按线程共享来分类,图例如下:

      

 

原文地址:https://www.cnblogs.com/light-sunset/p/12766928.html