欢迎!请参阅关于 页面了解此功能的更多信息。
评论者:alexmiller
谢谢,我们已经讨论了这个问题和一些可能的做法,但我们还没有为这个问题创建工单。
虽然Java 7方法依赖于(尝试)用字符串哈希码正确初始化哈希表,但在Java 8中这已被放弃,Java 8通过改进数据结构,将线性冲突改为红黑树(对数时间)来处理DoS冲突哈希攻击。可能类似的策略在Clojure中也能生效。
现在可以采用的一种解决方案是,将映射键包裹在一个实现了IHashEq并实现了替代哈希函数的自定义类型中。