最近在看Leveldb源码,里面用到LRU(Least Recently Used)缓存,所以自己动手来实现一下。LRU Cache通常实现方式为Hash Map + Double Linked List,我使用std::map来代替哈希表。 实现代码如下: ...
分类:
系统相关 时间:
2016-06-10 14:59:30
阅读次数:
336
这篇写的略为纠结,算法原理、库都是现成的,我就调用了几个函数而已,这有啥好写的?不过想了想,还是可以介绍一下LRU算法的原理及简单的用法。 LRU(Least Recently Used,最近最少使用)是一种内存页面置换算法。什么叫内存页面置换?我们知道,相对于内存的速度来讲,磁盘的速度是很慢的。我 ...
分类:
编程语言 时间:
2016-06-06 23:40:19
阅读次数:
503
我的代码中不太跑的通这些代码 所以我整理出来了 一键安装。 npm i process-nextick-args core-util-is util-deprecate brace-expansion inflight lru-cache sigmund ionic-gulp-sass-build ...
分类:
其他好文 时间:
2016-06-06 00:44:11
阅读次数:
241
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架。技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实现方案不能满足项目的需求改用Afinal,由于Afinal不再维护而选择了师出同门的Xutils,中 ...
分类:
移动开发 时间:
2016-06-04 10:27:03
阅读次数:
288
前言: 在学习LRU算法的时候,看到LruCache源码实现是基于LinkedHashMap,今天学习一下LinkedHashMap的好处以及如何实现lru缓存机制的。 需求背景: LRU这个算法就是把最近一次使用时间离现在时间最远的数据删除掉,而实现LruCache将会频繁的执行插入,查询、删除等 ...
分类:
编程语言 时间:
2016-06-02 13:33:28
阅读次数:
249
前言: 上篇我们总结了Bitmap的处理,同时对比了各种处理的效率以及对内存占用大小。我们得知一个应用如果使用大量图片就会导致OOM(out of memory),那该如何处理才能近可能的降低oom发生的概率呢?之前我们一直在使用SoftReference软引用,SoftReference是一种现在 ...
分类:
移动开发 时间:
2016-06-01 21:15:23
阅读次数:
305
操作系统的内存管理算法主要分为最近最久未使用算法(LRU),最近最少使用算法(LFU),先进先出算法,最优置换算法。这些算法都比较容易实现,在上课时做了一个课程实验,写了相关的程序: ...
分类:
编程语言 时间:
2016-05-31 20:39:15
阅读次数:
236
1. 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图 ...
分类:
移动开发 时间:
2016-05-30 00:45:59
阅读次数:
163
Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、L ...
分类:
编程语言 时间:
2016-05-24 20:32:08
阅读次数:
226