国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > 特殊的日子(2015年5月1日劳动节)纪念回归和新的征程,用LRU和LFU两个小算法原理和区别来抛砖引玉

特殊的日子(2015年5月1日劳动节)纪念回归和新的征程,用LRU和LFU两个小算法原理和区别来抛砖引玉

来源:程序员人生   发布时间:2015-06-24 08:23:11 阅读次数:3374次

很久没有写过新的博客了,缘由有很多,堂而皇之的理由就是工作忙,生活忙,各种累,直白1点其实就是变懒了,所以没有写。

在沉寂了这么长1段时间过后,终究又要重新动身了,对自己当前的状态,觉得首先要有所沉淀,然后就是要放空自己,惟有放空自己方能继续进步。


以后1段时间更新的博客内容主体是与Android Framework相干的疑问问题分析、机制实现的原理、源代码调用分析,然后伴随1些经常使用的小算法,语言特性,程序原理等。

今天就先介绍LRU和LFU这两个在Android的Framework和App中比较经常使用的缓存算法的思想原理,其实这些缓存算法的原理思想和Linux中的虚拟内存页面置换算法思想是1致的,只不过具体的不同。

LFU(Least Frequently Used使用频率最少算法,思路和原则是如果1个数据在最近1段时间内使用次数很少,那末在将来1段时间内被使用的可能性也很小,这类算法的目的通俗直接1点理解就是:当产生缓存内容需要更新并且已存满时,快速的找到并替换截止到当前全部缓存中使用频率也就是次数最少的内容。

LRU(Least Recently Used):最近最久未使用算法,思路和原则是如果1个数据在最近1段时间没有被访问到,那末在将来它被访问的可能性也很小,这类算法的目的通俗直接1点理解就是:当产生缓存内容需要更新并且已存满时,快速的找到截止到当前全部缓存中最长时间没有被使用的内容,然后将其删除并重构缓存的结构,将释放出的内存位置存入更新的内容。


参考链接:

http://www.cnblogs.com/dolphin0520/p/3749259.html

http://www.cnblogs.com/dolphin0520/p/3741519.html

http://blog.sina.com.cn/s/blog_631d3a630101mhup.html

http://qyappchentao.sinaapp.com/linux-mem-al/

http://blog.sina.com.cn/s/blog_50197c290101ft7a.html

http://blog.csdn.net/summerhust/article/details/6867171

http://dennis-zane.iteye.com/blog/128278

http://blog.csdn.net/luoweifu/article/details/8297084/



生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生