内存结构简介

Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

栈内存

  • 用于存储局部变量,当数据使用完,所占空间会自动释放

堆(heap)内存

  • 数组和对象,通过 new 建立的实例都存放在堆内存中。
  • 每一个实体都有内存地址值
  • 实体中的变量都有默认初始化值
  • 实体不在被使用,会在不确定的时间内被垃圾回收器回收