社区导航

 
查看: 2547|回复: 2

跪求:内存回收机制

[复制链接]

105

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2010-5-26 16:09:07 | 显示全部楼层 |阅读模式
java提供了一个说明:

假设已经存在一个指针指向了一个具体实例:A a=new A();
如果a这个指针超出了他的作用域,则刚才的new A()处于可回收状态;
如果a这个指针放弃了new A()的引用,也就是说new A()不再有指针引用他,则new A()处于可回收状态

这个规则我是明白了,但是就是搞不懂他具体的内部实现是怎么实现的
1、指针的存储位置在哪里?2、实例的存储位置在哪里?3、jvm如何去查找哪些实例处于可回收状态?4、jvm如何确定可回收资源的范围?(根据指针可以确认可回收下界,但可回收上界如何确认?)5、如何保证回收后的存储资源是连续的?(如果回收后存储资源不是连续的,那么回收后的存储资源也不一定就是实际可用的,会降低存储资源的使用效率,我想java开发人员还没有到忽略这个问题的地步吧?)6、对于通过反射创建的实例,为什么不能采用自动回收的机制?而要调用System.gc()强制唤醒回收机制?

跪求各位对于内存回收方式有了解的大虾指点!~


107

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2010-5-26 17:43:49 | 显示全部楼层
这个.....发错地方了吧?


回复

使用道具 举报

105

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2010-5-26 23:21:42 | 显示全部楼层
引用 1 楼 huntercao 的回复:
这个.....发错地方了吧?

不管有没有错,顶顶吧,呵呵,自己不懂,只能这样了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 13:05 , Processed in 0.106154 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表