JVM内存布局
JVM五大内存布局:
堆、方法区(元空间)、虚拟机栈、本地方法栈、程序计数器
堆和方法区线程共享
虚拟机栈、本地方法栈和程序计数器线程私有
即每个线程都会有自己的分配空间
堆是内存最大的一块,主要存放对象实例和数组;
方法区主要存储已被虚拟机加载的类信息、常量、静态变量、编译器编译后的代码等数据。
虚拟机栈主要存放局部变量表、操作栈、动态链接、方法出口等信息;
本地方法栈和虚拟机栈基本一样,不过本地方法栈主要存储native的方法信息。
程序计数器主要是记录当前线程所执行的字节码的行号指示器。