我也来说说 栈与堆的区别,目的主要是帮助自己理下思路,总所周知, JAVA是自动管理栈与堆的。与C不同 程序员不能直接设置栈与堆,
那是不是意味着,在编写程序完全不用考虑这个问题吗?
其实不然, 栈的优势是速度快 ,但需要提前确定储存周期与大小, 而堆不需要。
并不是所有基本变量都会放在栈中。
class A{
int a =3 ;
}
这时a是存放在堆中,
而
public void method(){
int a =3
}
这时a 是存放在栈中
我也来说说 栈与堆的区别,目的主要是帮助自己理下思路,总所周知, JAVA是自动管理栈与堆的。与C不同 程序员不能直接设置栈与堆,
那是不是意味着,在编写程序完全不用考虑这个问题吗?
其实不然, 栈的优势是速度快 ,但需要提前确定储存周期与大小, 而堆不需要。
并不是所有基本变量都会放在栈中。
class A{
int a =3 ;
}
这时a是存放在堆中,
而
public void method(){
int a =3
}
这时a 是存放在栈中