静态储存:全局变量 静态变量
Stack:局部变量 系统会自动回收
heap:new malloc
stack(栈)由系统自动分配,
heap(堆)需要程序员自己申请,
C中用函数malloc分配空间,用free释放,C++用new分配,用delete释放。
当然热爱java的童鞋肯定更关心java的内存空间划分(虽然强大的java让程序猿在编程时不需要考虑太多内存方面的细节)
java 对内存空间的划分五部分;
栈、堆、方法区、本地方法区、寄存器。
1、栈内存:存储都是局部变量。只要是在方法中定义的变量都是局部变量。
一旦变量的生命周期结束该变量就被释放。
2、堆内存都是实体(对象)(new 关键词创建的)
每一个实体都有一个首地址值。
堆内存的变量都有默认的初始化值。不同类型不一样,
int——0
栈、堆、方法区、本地方法区、寄存器。
1、栈内存:存储都是局部变量。只要是在方法中定义的变量都是局部变量。
一旦变量的生命周期结束该变量就被释放。
2、堆内存都是实体(对象)(new 关键词创建的)
每一个实体都有一个首地址值。
堆内存的变量都有默认的初始化值。不同类型不一样,
int——0
double——0.0
boolean——false
char——’\u0000’
当实体不在使用时,就会被垃圾回收机制处理。
当实体不在使用时,就会被垃圾回收机制处理。
静态储存:全局变量 静态变量
Stack:局部变量 系统会自动回收
heap:new malloc