1. Heap(堆):实例分配的地方,通过-Xms与-Xmx来设置
2. MethodArea(方法区域):类的信息及静态变量。 对应是Permanet Generation, 通过-XX:PermSize来设置
3. JavaStack(java的栈):虚拟机只会直接对Javastack执行两种操作:以帧为单位的压栈或出栈。通过-Xss来设置, 若不够会抛出StackOverflowError
4. ProgramCounter(程序计数器):每一个线程都有它自己的PC寄存器,也是该线程启动时创建的。
PC寄存器的内容总是指向下一条将被执行指令的饿地址,这里的地址可以是一个本地指针,也可以是在方法区中相对应于该方法起始指令的偏移量。
5. Nativemethodstack(本地方法栈):保存native方法进入区域的地址
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)