参考链接:https://www.cnblogs.com/ityouknow/p/5610232.html
java 虚拟机的内存结构分为 5 个部分,分别为程序计数器、虚拟机栈 、本地方法栈、方法区和堆。
这 5 个部分的说明如下:
程序计数器是一块较小内存空间,作用是作为当前线程执行字节码的行号指示器。虚拟机栈描述了 java 方法执行的内存模型。本地方法栈描述了native 方法执行的内存模型。方法区存储已加载类的信息、常量、静态变量等。堆的作用是存储 java 对象。
以上 5 个部分中,线程私有的有成员计数器、虚拟机栈、本地方法栈,线程共享的有方法区、堆。