一致性Hash算法-问题
一致性哈希算法是一种特殊的哈希算法, 当目标槽位数量发生变化时,它会尽力降低的重新映射的数量。 传统的哈希表设计中,添加或者删除一个槽位,会造成全量的重新映射, 一致性哈希则追求的是增量式重新映射。
一致性哈希算法是一种特殊的哈希算法, 当目标槽位数量发生变化时,它会尽力降低的重新映射的数量。 传统的哈希表设计中,添加或者删除一个槽位,会造成全量的重新映射, 一致性哈希则追求的是增量式重新映射。
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。査找时,根据这个确定的对应关系找到给定值key的映射f(key),若査找集合中存在这个记录,则必定在f(key)的位置上。
我们把这种对应关系f称为散列函数,又称为哈希(Hash)函数。按这个思想,采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表(Hashtable)。那么关键字对应的记录存储位置我们称为散列地址。
给定一个字符串 s,找到 s 中最长的回文子串?
LMAX Disruptor是一个高性能的线程间消息库。下面是其简单架构示意图

之前把ubuntu装到了ssd上,速度变得快了很多。顺手就安装了steam,昨天突然发现磁盘接近满了🤣。立马插上了一块新买的ssd。
Ubuntu + window双系统,删除window后,在grub和bios的EFI启动项中残留WindowBootManager。
单纯修改/boot/grub下的菜单配置,在执行sudo upgrade-grub2后启动项又会恢复WindowBootManager.
1000瓶药水,1瓶有毒药,服用后一小时毒发,毒药可以无限稀释,那么一小时内用几只小白鼠能够找出毒药1?
一只老鼠的状态是2种生或死,这里可以看做bit位,而1000瓶药水有1000种情况,显然我们可以使用2^10 = 1024>1000 来描述这1000种可能,而2进制数的唯一性可以唯一确定一种情况。
bitmap适用于什么场景?
bitmap的核心思想是将一个元素的可能取值映射为某个空间内的值(常见的是1bit空间,提供0,1两种状态。或是2bit空间,提供 0,1,2,3四种状态)。通过某种顺序的映射表来节省存储空间。
tmpwatch 会在指定目录中递归删除指定时间段内未被访问的文件。通常,它用于自动清除临时文件系统目录,例如 /tmp 和 /var/tmp。
lost+found 目录。tmpwatch 会根据文件的 atime(访问时间)而不是 mtime(修改时间)删除文件。tmpwatch 命令中添加其他参数来更改这些行为。警告: 不要在
/中运行tmpwatch或tmpreaper,因为该程序中没有防止这种情况的机制。
(JDK version:1.8)使用Timer执行定时任务很简单:
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("hello world");
}
};
timer.schedule(task, 10, 2000);// 延迟10ms后,每隔2s就执行一次timer task。下面我们来来分析Timer的源码。