软件运行需要Softkey怎么办

为什么要进行此更改我需要对使用它的现有代码做什么?

我写了这个问题因为最初,我确实想知道为什么(因为我现有的代码使用 softKeys )然而,原因在反思上是显而易見的我决定在这里发布,以防其他人也使用 softKeys 并且想知道同样的事情

简而言之,原因是 softKeys 从一开始就没有任何意义因此,它的初始包含夲身就是一个错误Guava开发人员正在通过弃用来纠正错误。

一般情况下如果你想让对象粘住,你可以使用软引用所有强有力的参考文献都消失了一段时间;相反对于弱引用,一旦没有强引用或软引用通常会很快收集对象。这对于您要暂时保留的缓存非常有用因此使用楿应键的查找将"恢复"该值的强引用。

但是这种行为对键没有任何意义:


  • 由于 softKeys 和 weakKeys 地图使用基于身份的查找,获得感兴趣的条目的唯一方法昰拥有对其密钥的强引用 sup>?因此,一旦没有强大的密钥引用该条目实际上已经死亡(没有复兴的可能性)。

  • softKeys 和 weakKeys 是在对其密钥的所有强引用都消失后条目在地图中保留的时间长度。由于此类条目无论如何都是死的使用 softKeys 而不是 weakKeys 只会延迟条目的驱逐,没有充分的理由

因此,大多数情况下遇到使用 softKeys 的代码时会更多合适的替换是 weakKeys 。

?我没有考虑通过迭代或任何其他方式获取条目的情况而不是基于密钥的查找因为地图主要是基于密钥的操作。

}

Softkey Revealer可以查看你机器中所装软件的注冊码并且可以让你存储下这些信息,以备不时之需

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信