什么是垃圾对象?

oqqSun1234567891 2012-08-19 05:39:15
我的理解,就是一个对象没有被引用的时候,就会被回收。

是这样吗?

还有个问题,, JAVA怎么获取变量的地址,
像C一样,, int *p = &a;
...全文
395 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
maogc 2012-08-22
  • 打赏
  • 举报
回复

一个对象没有被引用的时候,就会被回收
java语言本身是没有提供任何方法来查看内存地址的。关于加载类对象完全是由JVM来完成的,出于安全和方便的考虑,JVM管理内存对Java应用程序员是透明的
maogc 2012-08-22
  • 打赏
  • 举报
回复
1,一个对象没有被引用的时候,就会被回收
2,java语言本身是没有提供任何方法来查看内存地址的。关于加载类对象完全是由JVM来完成的,出于安全和方便的考虑,JVM管理内存对Java应用程序员是透明的
YECHWNG 2012-08-22
  • 打赏
  • 举报
回复
你的理解是对的,至于变量的地址的话,当你new一个对象的时候它返回的就是一个变量地址或是变量的句柄(根据JVM的不同而不一样),你的所有操作都是对变量地址的操作,比如说赋值啊什么的。
无敌波哥8 2012-08-21
  • 打赏
  • 举报
回复
方法体里面创建的局部对象,出了方法体之后,就没有用了,这就成为了垃圾对象,垃圾回收器会在满足一定的条件下回收这块内存。

又如String abc=new String("aaaa");当你调用abc=null;时 new出来的对象就没有引用指向他了,因此就成为了垃圾对象,也会被回收的。
来到我身边 2012-08-20
  • 打赏
  • 举报
回复
首先说说垃圾对象,所谓的垃圾对象就是程序中不再对其进行引用的对象(可以说不再使用),这个一般等垃圾回收器来将其回收。另外我们应该明白:在《java编程思想》这本书上讲到垃圾回收器回收一般是在内存不足或者是在所运行的程序关闭的时候,甚至是在你关闭自己的电脑的时候,垃圾回收器才会起作用,所以像是被回收了的对象又被使用的情况一般是不存在的。

对于如何取得变量的地址这个问题没有怎么研究过,不过变量的地址在java中是以对象的形式存在的。
shihun1234 2012-08-20
  • 打赏
  • 举报
回复
就像指针,没有东西指向这块内存空间了,就会被垃圾回收器回收
xlhb 2012-08-19
  • 打赏
  • 举报
回复
垃圾收集机制,会不定期,对没有引用对象指向的对象进行回收
wonkju 2012-08-19
  • 打赏
  • 举报
回复
垃圾收集机制,会不定期,对没有引用对象指向的对象进行回收,1楼说的,不支持。
小牛毛 2012-08-19
  • 打赏
  • 举报
回复
我也奇怪到底是怎么回收垃圾内存的,我暂时没有引用,但是万一突然又要使用了那怎么办呢?
孤雨 2012-08-19
  • 打赏
  • 举报
回复
地址对于java程序员是透明的,是不允许操作内存的。至于垃圾对象 没有被引用当然就认为是垃圾对象,垃圾回收线程自然就把他回收了,还有匿名对象呀,用完就回收了。
healer_kx 2012-08-19
  • 打赏
  • 举报
回复
没有办法获得所谓的变量的地址。

Java不支持C的取地址符号 &

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧