需求:
假设有n条队列,讲数据入队列时,需要散列一下。
id为业务唯一标识
int h;
String key = String.valueOf(id); // 获取id的的hash值
int hash = (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); // 对hash取模,路由到指定的内存队列中
int index = (n-1) & hash;
index就是要放入队列的索引
网友评论