如何优化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回答

Jimin

2018-10-27

你好,这个不一定,这个算法本质上有传进来的数字有关。单独看实现,是看不出会优化还是会更恶劣。如果你想使用,建议拿这个实现和之前的实现做下对比,比如用实际中的一些数据,不断提升量级,来看看他们的表现,这样才容易得出正确的结论。
引申一下,通常做一些类似的算法实现时,都要依据实际的场景数据做些优化。拿hashmap来说,使用不同的数据,处理起来也是不一样的,比如有人会根据自己实际场景给定默认的size来优化扩容。

0
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程