前言
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200826214935424.jpg#pic_center)
上篇对JVM做了一个入门级的了解,之后的学习大部分都是根据JVM的体系结构细化出来学习的,在复习一下JVM体系结构看下图,今天总结一下java虚拟机的内存的各个区域,跟我一起了解虚拟机是怎样使用内存的,如何排查错误,让我们一起走JVM体系结构中的运行时数据区(内存区)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200826092346171.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExNTA3NjE1OTczOQ==,size_16,color_FFFFFF,t_70#pic_center)
运行时数据区
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200827115229502.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExNTA3NjE1OTczOQ==,size_16,color_FFFFFF,t_70#pic_center)
Java虚拟机在执行Java程序 的过程中会把它管理的所有内存划分为若干个不同数据区域
- 橙色是由线程共享的区域,随着虚拟机的启动一直存在(线程私有)
- 蓝色则依赖用户线程的启动和结束而建立和销毁(线程隔离的数据区,线程共享)
程