纯粹的功能相当于weakhashmap?
像Java的弱哈希映射这样的弱哈希表使用弱引用来跟踪垃圾收集器的无法访问密钥的集合,并从集合中删除与该密钥的绑定。弱哈希表通常用于实现从图中的一个顶点或边到另一个的间接,因为它们允许垃圾收集器收集图的不可到达部分。
这个数据结构是否具有纯粹的功能等价物?如果没有,怎么可能创建一个?
这似乎是一个有趣的挑战。内部实现不能是纯粹的,因为它必须收集(即变异)数据结构以删除无法访问的部分,但我相信它可以为用户提供纯粹的接口,用户永远不会观察到杂质,因为它们只会影响数据的某些部分根据定义,用户可以不再到达的结构。
没有找到相关结果
已邀请:
2 个回复
嘘伪
像你描述的哈希映射可能大部分都是以这些为关键,但即使在这里我也能想到它可能会破坏的方式:假设用户将密钥存储在某些数据结构的严格字段中,编译器的“unbox- strict-fields“启用优化。如果'Uniq'只是机器整数的新类型包装器,那么GC可能不再指向任何对象并说“那是关键”;因此,当用户去解压缩他的密钥以使用它时,地图可能已经忘记了它。 (编辑:这个特定的例子显然可以解决;使Uniq的实现不能像那样拆箱;关键是它很棘手,因为编译器试图在很多方面帮助我们可能没有期望) TL; DR:我不会说它无法完成,但我怀疑在许多情况下,“优化”会破坏或被弱哈希映射实现破坏,除非对象标识被赋予一流的可观察状态。
才改隘瘁
我建议这个测试可以通过