java 关于弱引用疑问求助大佬

网上看了很多关于Java的4种引用,这里先只谈弱引用.
大部分说的是,弱引用关联的对象只是自己关联,下次gc就会回收.这个理解没有问题,关键是场景和用途觉得有些困难。按这个说法,弱引用的地方我换成强引用,手工null不是也可以做到吗,就比如staic map,存了很多object,一种WeakReference(Object),一种直接Object key存入,当方法退出,执行完毕,local本地变量的Object已经不达了,map中还持有Object,那么如果是WeakReference(Object),因为支持有弱引用,下次gc回收了没问题。如果直接是Object,那么循环找出来设置null也可以回收了。就是关于这2点,理解不了弱引用到底可以做些什么,还是说仅知道了个理论,而完全不知道他的用途和方向,永远停留再demo中,往大佬指点下米津,关于弱引用的理解到底是什么用的,求助,help

阅读 2k
2 个回答
  1. 普通引用手工设置null是表示”这个对象我不要了“,反之不设置null就不会被回收
  2. 用弱引用是表示”这个对象可要可不要“,会被自动回收

原文:如果直接是Object,那么循环找出来设置null也可以回收了

c++里的对象要回收可以delete,那为啥还是有些人抱怨c++内存不好管理呢?

弱引用只是为对象回收提供一种官方的便捷管理方法而已,如果你觉得不好用,那不用就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题