java 虚拟机内存分三个区域
栈(stack),堆(heap),方法区(method area);
栈的特点:
1,描述方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量,操作数,方法出口等)
2.JVM会为每个线程创建一个栈,用于存放该线程执行方法的信息
3.栈属于线程私有,不能实现线程间的共享
4.存储特性:先进后出,后进先出
5.栈由系统自动分配,速度快,是连续的存储空间
堆的特点:
1.堆是不连续的存储空间,分配灵活,速度慢
2.用于存储创建好的对象和数组
3.JVM只有一个堆,被所有线程共享
方法区:
1.方法区也叫静态区,JVM只有一个方法区,所有线程共享
2.用于存储程序中永远不变的信息(静态变量,字符串常量,class对象等)
栈堆学习笔记
最新推荐文章于 2024-08-22 18:45:37 发布