如何优化local-jvm缓存?
来源:9-4 HashMap与ConcurrentHashMap解析
搬砖战士
2018-10-27
老师你好, 遇到一个JVM缓存优化的问题.
想问一下, 如果直接复制粘贴这个hash算法, 能起到优化hashmap的效果吗, 还是需要改造一下?
在研究doug,lea源码的时候(org.hibernate.validator.internal.util.ConcurrentReferenceHashMap), 发现一个将hash值打散的hash算法. 如果我想讲本地cache的hash热度降低, 可以直接复制这个算法用吗.
写回答
1回答
-
你好,这个不一定,这个算法本质上有传进来的数字有关。单独看实现,是看不出会优化还是会更恶劣。如果你想使用,建议拿这个实现和之前的实现做下对比,比如用实际中的一些数据,不断提升量级,来看看他们的表现,这样才容易得出正确的结论。
引申一下,通常做一些类似的算法实现时,都要依据实际的场景数据做些优化。拿hashmap来说,使用不同的数据,处理起来也是不一样的,比如有人会根据自己实际场景给定默认的size来优化扩容。00
相似问题