写了一个A类
类中有个 int i
类中还有个Timer 每秒i自加1
然后在另一个类里声明个HashMap
new个A放进去 i开始自加
现在的问题是 我想从HashMap删除并销毁A
首先我remove掉了A 发现i还在自加
然后我又试着 A _a= get(key);_a=null;
这样给它指空企图销毁 可i依然再打印
说明new的这个对象并没有销毁我应该怎么做才能彻底从HashMap销毁这个A呢
类中有个 int i
类中还有个Timer 每秒i自加1
然后在另一个类里声明个HashMap
new个A放进去 i开始自加
现在的问题是 我想从HashMap删除并销毁A
首先我remove掉了A 发现i还在自加
然后我又试着 A _a= get(key);_a=null;
这样给它指空企图销毁 可i依然再打印
说明new的这个对象并没有销毁我应该怎么做才能彻底从HashMap销毁这个A呢
可是确实null了说到这里感觉有点矛盾了
假设我们不关闭Timer 只是指null 虚拟机可能永远都不会回收
其实它们是一个线程.
i有线程引用,所以不会被回收.
你先把这个Timer 停止,set null