A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨海波 中级黑马   /  2012-6-1 18:40  /  2052 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有个Map是如下定义的
public class AjaxAction extends Action {
public HashMap map= new HashMap();

}
请问但AjaxAction这个类被自动回收后,这个public的map所占用的内存是否被释放。
我是怀疑这个map还在占用内存,求高人指点

5 个回复

倒序浏览
我个人的看法是,类都没有了,里面所定义的内容也会随之消失.
回复 使用道具 举报
想了想也应该是这样类都没了,map集合里的定义的内容会随之消失。
回复 使用道具 举报
同意一楼的想法。
回复 使用道具 举报
这个不一定的。
如果map里面存放的值正好被外部对象引用的时候,它应该不会被回收。
要看它有没有被视为有效对象。
回复 使用道具 举报
我觉得楼主的说法欠妥哦:请问但AjaxAction这个类被自动回收后,应该是这个类的对象被回收吧,在堆内存中的只有对象,没有类,如果对象被回收了,对象里面的一片内存都被回收了,肯定里面的方法和属性也会没了的,人都没了,手的存在还有意义么?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马