为什么对象存储在Heap中

时间:2015-06-19 05:58:22

标签: java

为什么对象存储在堆中?

根据我的理解,对象存储在Heap中,引用变量保存对象的地址。

引用变量存储在堆栈中。如果删除了引用变量,则对象变得无法访问。所以从理论上讲,对象也已经死了。 (当然,当只有一个引用变量引用该对象时)。

所以我的困惑是什么使得有必要将对象存储在堆中?

1 个答案:

答案 0 :(得分:0)

你的意思是Java,对吧?

  • 堆栈切片的生命周期是在函数调用期间,
  • 堆栈通常只存储具有固定大小的类型,例如整数,指针,
  • 堆栈很小,
  • 堆栈通常对其线程可见,不适合全局变量,

顺便说一句,JVM基于操作系统,通常,在类似unix的系统上,有堆栈&堆& mmap,JVM实现利用了底层OS接口,因此JVM的内存模型在某些方面类似于OS。