--本文内容为学习记录,内容非原创
JAVA的JVM的内存分为3个区: 堆(heap)、栈(stack)和方法区(method)
堆区:
1、JVM只有一个堆区被所有线程共享,只存储对象本身,每个对象包含一个与之对应的class信息
栈区:
1、每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用
2、每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问
3、栈分为3个部分:基本类型变量区,执行环境上下文,操作指令区
方法区:
1、又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量
2、方法区中包含的都是整个程序永远唯一的元素:如class,static变量