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

IdentityHashMap的用例

郭洋
2023-03-14
问题内容

谁能告诉我重要的用例是IdentityHashMap什么?


问题答案:

该单证说:

此类的典型用法是保留拓扑的对象图转换,例如序列化或深度复制。为了执行这样的转换,程序必须维护一个“节点表”,该节点表跟踪已处理的所有对象引用。节点表不得等于不同的对象,即使它们恰好相等。此类的另一个典型用法是维护代理对象。例如,调试工具可能希望为要调试的程序中的每个对象维护一个代理对象。



 类似资料:
  • 该类实现了AbstractMap。 它类似于HashMap,除了它在比较元素时使用引用相等。 此类不是通用Map实现。 虽然这个类实现了Map接口,但它故意违反了Map的一般契约,它要求在比较对象时使用equals方法。 此类仅用于需要引用相等语义的极少数情况。 假设系统标识哈希函数(System.identityHashCode(Object))在桶之间正确地分散元素,则此类为基本操作(get和

  • 问题内容: 我正在建造一个。我必须为系统构建。 根据我的研究,我认为我需要使用构建基于的身份验证系统和承载令牌。 在阅读了很多有关如何构建OAuth2.0服务器的OAuth2.0的知识之后,我仍然感到困惑,并且对是否需要它或是否需要其他身份验证系统感到困惑。 我的系统需要的是,我们将为所有客户提供服务,每个客户都将拥有一个,并且使用SDK客户端将连接到我们系统中存在的他的应用程序。 在将客户他的申

  • 问题内容: 从Servlet 3.0规范开始,就有可能将Servlet映射元数据声明为Servlet类的注释: 我不明白的是将初始化参数与servlet放在同一类中的用例。据我了解,这些参数应与类分开保存,并放入部署描述符中。 在注释中指定init参数有哪些用例? 问题答案: 批注用于提供默认值。 在JavaEE中,还可以使用注释来提供部署属性。给定注释的值后,仍可以使用部署描述符(即web.xm

  • 这种方法本质上是不安全的。使用停止线程会导致它解锁已锁定的所有监视器(这是未经检查的异常沿堆栈向上传播的自然结果)。如果以前由这些监视器保护的任何对象处于不一致的状态,则损坏的对象将对其他线程可见,从而可能导致任意行为。[...] 甚至有一整篇文章提供了更详细的。(尤其是在到达顶部时是静默的,即使您防范它,也无法防范。) 总的来说,我同意这篇文章所担心的问题,并同意StackOverflow相关问

  • 问题内容: 我已经读过为什么调用System.gc()以及许多其他方法是一种不好的做法,例如,这描述了确实造成了灾难性的滥用。但是,在某些情况下,GC花费的时间太长,避免了长时间的停顿,例如,避免垃圾并不是一件容易的事,并且使代码难以维护。 在以下常见情况下,恕我直言,手动调用GC很好: 有多个可互换的Webserve,它们前面都有一个故障转移。 每个服务器使用几GB的堆,STW暂停花费的时间比平

  • 问题内容: 我读到有关构造单元测试的内容,每个类都有一个测试类,每个方法都有一个内部类。认为这似乎是组织测试的便捷方法,因此我在Java项目中进行了尝试。但是,内部类中的测试似乎根本没有被采用。 我大致是这样做的: JUnit不支持此功能,还是我做错了? 问题答案: 使内部类静态化对我有效。