java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式
栈——存储局部变量,使用完毕,立即回收,先进后出
堆——存储new出来的东西——实体/对象,每个对象在堆中都有一个地址值,每一个对象数据都有一个默认值,使用完毕后,会在垃圾回收器空间的时候被回收
byte,short,int,long--0 float,double--0.0 char--‘\u0000’ boolean--false 引用类型--null
当int[] arr = new int[2]时栈与堆的关系
方法区——放置main方法,成员变量,成员方法,普通类中方法与class文件
本地方法区——与系统相关
寄存器——给CPU使用