Java程序为了提高程序的效率,就对数据进行了不同空间的分配
具体的是划分为了如下5个存储空间:
栈:存放局部变量
堆:存放所有的new出来的东西
方法区:面向对象部分
本地方法区:和系统有关
寄存区:cpu使用
局部变量:在方法定义中或者方法声明中的变量都称为局部变量
堆的特点:
1.每一个new出来的东西都是地址值
2.每一个变量都有默认值:
byte, short, int, long —> 0
float,double —> 0.0
char —> \u0000
boolean —> false
引用类型 —> null
3.使用完毕后就变成垃圾,但是并没有立即回收,会在垃圾回收站空闲的时候回收
栈的特点:栈内存的数据用完后就释放掉