• 存储局部变量(局部变量指定义在方法中的变量)
  • 使用完毕,立即回收

  • 存储的是new出来的东西,堆种的每个数据都会有默认值
  • 每个对象都有地址值
  • 每个对象的数据都有默认值
byte,short,int long类型的默认值为0
  • flout,double的默认值为0.0
  • char类型的默认值为、\u0000,即空字符
  • 引用类型的默认值为 null
  • 使用完毕后,等到垃圾回收器空闲时会回收

方法区

  • 程序中的方法会先放在方法区中,等到方法被调用时,会依次加载到栈中

一个对象的内存分配图

java中的内存分配(堆,栈)_栈

两个对象公用方法区内存图

java中的内存分配(堆,栈)_栈_02

两个对象公用同一块内存图

java中的内存分配(堆,栈)_默认值_03