jvm启动,在底层的操作系统取得一块内存,用来执行Java程序
分析内存中的两种区域:堆空间和栈空间
堆:存放对象和实例变量
栈:存放方法调用和局部变量,又叫栈变量
public class Demo {
String name;//存放在类中的方法之外的变量,实例变量
public void foo(int x){
int age;//存在方法中和参数的局部变量,这里x和age都是局部变量,又叫栈变量
bar();
}
public void bar(){
}
}
public static void main(String[] args) {
Demo demo = new Demo();//demo是Demo类型的引用变量,存在栈上, new Demo()就是在堆上开辟了空间存放Demo()类型的对象
}