
算法
文章平均质量分 87
淡淡的倔强
不怕千万人阻挡,只怕自己投降!
展开
-
LRU算法的Java实现
一、LRU算法介绍LRU算法全称Least Recently Used,也就是检查最近最少使用的数据的算法。这个算法通常使用在内存淘汰策略中,用于将不常用的数据转移出内存,将空间腾给最近更常用的“热点数据”。算法很简单,只需要将所有数据按使用时间排序,在需要筛选出LRU数据时,取排名靠后的即可。二、Java中的LRU实现思路根据LRU算法,在Java中实现需要这些条件:底层数据使用双向链表,方便在链表的任意位置进行删除,在链表尾进行添加,这一点用单链表比较费劲,当然用数组等结构也都很费劲,当然双转载 2020-10-04 16:47:02 · 4252 阅读 · 0 评论 -
一致性hash算法--字符串哈希函数比较
一个股票交易系统的后台,为了能快速查找各种股票代码的Tick,会计算其哈希值,然后存贮在哈希表里面。一个好的哈希函数应该能实现很好地分布性,减少冲突。这里选取了几种常用的字符串哈希,包括BKDRHash,APHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash和DJBHash,通过在不同的字符串集合测试,来测试其性能。各种常用算法一、BKD...转载 2018-04-19 15:06:51 · 3690 阅读 · 0 评论 -
Paxos算法
本文转载自:Paxos算法一、Paxos算法的描述通过一个决议分为两个阶段:1、prepare阶段: (1) proposer选择一个提案编号n并将prepare请求发送给acceptors中的一个多数派; (2) acceptor收到prepare消息后,如果提案的编号大于它已经回复的所有prepare消息,则acceptor将自己上次接受的提案回复给propose...转载 2018-08-27 15:06:31 · 302 阅读 · 0 评论