WeakReference对象本身什么时候被回收?(不是构造弱引用传入的对象)

发布于 2022-09-07 23:04:53 字数 270 浏览 18 评论 0

Car car = new Car(22000,"silver");
WeakReference<Car> weakCar = new WeakReference<Car>(car);
car  = null;
System.gc();

以上代码当gc后,weakCar.get() 返回null,说明Car对象已被回收,但是问题是,weakCar对象,在什么时间段会被回收?为了回收一个car对象又new了一个weakCar对象,是不是有点浪费??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不喜欢何必死缠烂打 2022-09-14 23:04:53

weakCar对象被回收的时机和普通的对象是一样的,也就是gc root不可达的时候
弱引用本身不大,但是被引用的对象可能不小,所以合理运用不算浪费

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文