java堆和栈的区别

2024-11-06 16:01:54
推荐回答(1个)
回答(1):

在java中把内存分为堆内存和栈内存
其中栈内存主要是用来执行程序的,而且栈内存中存放的都是一些基本类型的变量和对象的引用变量,而且当栈内存的存储量达到最大时,java会释放掉一部分内存
public class A{
int a=5 //这就是一个基本类型的变量a
String s1='小红' //这也是一个基本类型变量,在占内存中就会开辟相应的空间用来存放 //s1和a
}
而堆内存主要是用来存放对象的,存放的是new创建的对象和数组,而且堆内存的回收是由JVM来做的
public class Dog{
int age=0;
String name="小花"
}
Dog d=new Dog();
/*这样的就会在堆内存中开辟一个空间,用来存放d这个创建起来的对象