//栈帧是栈中开辟的每一块内存
栈
1.每个方法,被调用都会在栈中开辟一个栈帧,用于存储局部变量,操作数,方法出口
2.栈是先进后出,后进先出的
3.栈是由系统分配的内存,所以运行速度快,栈是一片连续的内存
4.JVM为每个线程都创建了一个栈帧,用于存放当前线程调用方法的信息(局部变量,实际参数)5.
5.栈属于线程私有,无法共享线程间的信息
堆
1.堆用来存储对象和数组
2.堆不是一片连续的内存,分配灵活,但速度慢
3.JVM只有一个堆,他被所有线程共享
方法区(又叫静态区)
1.用来存放程序中不变的和唯一的信息,类,字符串常量,
2.JVM只有一个方法区,被所有线程控制
//以上是我对于栈,堆,方法区的浅了解,仅供参考