我了解什么是 Java WeakReference。我想知道的是它通常用于解决哪种具体问题。有没有包含它们的模式?
WeakReference
and SoftReference
当您想保留某些东西以备再次需要时使用 - 但您可能不需要它,如果您确实需要它,您可以重新创建它。
例如,如果您有一个从网站获取的信息的缓存,您不想不断地重新获取它,但如果您需要内存,您可以随时删除一段时间未使用的内容并将其取回如果您确实需要的话,请再一次。
SoftReferences
特别是对于这种缓存非常有用,因为它告诉 GarbageCollector 不要删除对象,除非它确实需要释放内存。
WeakReference
另一方面,GC 可以随时进行清理。
我之前曾将它们与工厂模式结合使用。保留一个SoftReference
当您在工厂中创建对象时。如果再次请求它们,则返回已经创建的对象。如果它们不存在或已被垃圾收集,则创建它们,返回它们,并保留SoftReference
工厂内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)