java中的内存分配:
- 栈:(存储的是局部变量)
- 堆:(存储的是new出来的对象)
- 方法区
- 本地方法区(和系统相关,比如用到的java调c JNI)
- 寄存器(给CPU用)
栈:存储的是局部变量。
局部变量是定义在方法中的变量
使用完毕,立即收回。
堆:存储的是new出的东西,实体,对象
- A:每一个对象都有地址值
- B:每一个对象的数据都有默认值
byte,short,int,long 0
float, double,0.0
char '\u000'
boolean false
引用类型 null
- C:使用完毕后,会在垃圾回收器空闲的时候被回收