cbawind 2011-03-18 17:19
浏览 241
已采纳

关于java中的对象及其引用的存储位置问题

java接触了一段时间了...但是自己对于java还没深层的理解以及对计算机内部的东西的了解也没跟上节奏.
现在关于一点东西想请教下各位.

java中new一个自定义的对象时,该对象本身是不是在堆(Heap)中存储的啊?也就是说对象空间是分配在堆(Heap)中的?
然后这个对象对应的引用类型(Reference)是不是存储在栈(Stack)中的啊?

如果是这样的话,这个对象的引用类型(reference)存储在栈(Stack)中的值是不是就是该对象存储在堆(Heap)中的地址值?

  • 写回答

2条回答 默认 最新

  • lxbccsu 2011-03-19 22:40
    关注

    你的理解是正确的;

    我们说的堆、栈什么的,其实都是内存区,用来存放运行时数据,JVM会自动的去管理它们,一旦对象不再使用(也即该对象的地址不再被引用),如果垃圾收集器启动了,就会进行清理,并收回不再被引用的对象占用的空间,即释放内存空间。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?