Java程序在运行时,需要在内存中分配空间。为了提高运算效率,对内存空间进行了不同的划分(一共有5种)——因此,每一片区域都有特定的处理数据的方式和内存管理方式。
栈内存
存储局部变量,当数据使用完毕,空间会自动释放。
堆内存
- 对象和数组,通过new建立的实例都存放在堆内存中。
- 每一个实例都有内存地址值。
- 实体中的变量都有默认初始化值。
- 实体不被使用时,会在不确定时间被回收。
声明数组
为数组中的元素赋值
将数组指向null
栈自动释放,堆垃圾回收
方法区
又叫做数据区和共享区。类中的静态成员和类中的方法放在这里