1、从变量角度看:在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;静态变量存方法区;局部变量在所在方法调用时,存在栈内存空间中。
2、从数据类型的角度来看:基本数据类型,存放在栈内存中。用完就消失;引用类型,在栈内存中存放引用堆内存的地址,在堆内存中存储类、对象、数组等。当没用引用指向堆内存中的类、对象、数组时,由 GC回收机制不定期自动清理。
1、从变量角度看:在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;静态变量存方法区;局部变量在所在方法调用时,存在栈内存空间中。
2、从数据类型的角度来看:基本数据类型,存放在栈内存中。用完就消失;引用类型,在栈内存中存放引用堆内存的地址,在堆内存中存储类、对象、数组等。当没用引用指向堆内存中的类、对象、数组时,由 GC回收机制不定期自动清理。