当前位置: 首页 > 面试题库 >

什么是WeakHashMap?何时使用?

费锋
2023-03-14
问题内容

什么是a WeakHashMap,何时应该使用它?a WeakHashMap和a有HashMap什么区别?


问题答案:

如果没有其他对键对象的强引用,则弱哈希图中的元素可以由垃圾回收器回收,这使它们对于缓存/查找存储很有用。

弱引用不限于这些哈希表,您可以对单个对象使用WeakReference。它们对于节省资源很有用,您可以保留对某些内容的引用,但在没有其他引用的情况下允许对其进行收集。(顺便说一句,强引用是普通的Java引用)。还有一些弱引用不像软引用那样容易被收集(在最后一个强引用消失之后,它们往往不会停留很长时间)



 类似资料:
  • 问题内容: 使用弱引用是我从未见过的实现方式,因此,我试图弄清楚它们的用例是什么以及实现将如何工作。你何时需要使用WeakHashMap或WeakReference以及如何使用它? 问题答案: 强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免

  • 问题内容: 作为React世界的初学者,我想深入了解我使用时会发生什么以及使用该情况的情况。以下代码段的意义是什么? 问题答案: “孩子”到底是什么? React文档说,您可以在代表“通用框”并且不提前知道其子级的组件上使用。对我来说,这并没有真正清除一切。我可以肯定的是,这个定义很合理,但对我而言却不是。 我对操作的简单解释是, 它用于在调用组件时显示在开始和结束标记之间包含的所有内容。 一个简

  • 问题内容: Java的WeakHashMap通常被认为对缓存有用。尽管其弱引用是根据地图的键而不是其值定义的,但这似乎很奇怪。我的意思是,这是我要缓存的值,而一旦缓存中没有其他人强烈引用它们,我想收集垃圾值,不是吗? 以哪种方式保留对键的弱引用?如果执行a ,那么我希望高速缓存保持在’o’状态,直到调用者不再拥有强引用,并且我完全不在乎字符串对象“ some_key”。 我想念什么吗? 问题答案:

  • 这里的文件如下: 当涉及到应用程序的单元测试时,我们通常希望避免建立数据库连接,保持测试套件的独立性并尽可能快地执行它们。但是我们的类可能依赖于从连接实例中提取的存储库。我们如何处理?解决方案是创建模拟存储库。为了实现这一点,我们建立了自定义提供者。每个注册的存储库都由存储库令牌自动表示,其中EntityName是实体类的名称。 @nestjs/typeorm包公开了getRepositoryTo

  • 最近,我收到了在代码中使用's的建议,或者在站点上看到了一些使用's的答案--应该是某种容器。但是--我在C++17标准库里找不到类似的东西。 那么这个神秘的是什么?如果它是非标准的,为什么(或何时)使用它是个好主意?

  • 问题内容: 有人向我解释什么和是谁? 我感到困惑的用例都和。 如果您还可以包括一段代码来进行解释,那将是很好的。谢谢! 问题答案: 的目标和是抽象不同的方式来输入和输出:流是一个文件,网页,或者屏幕不应该的事。重要的是您从流中接收信息(或将信息发送到该流中。) 用于阅读许多内容。 用于写很多东西。 这是一些示例代码。它假定和已经创建: