授权协议 BSD
开发语言 Google Go
操作系统 Windows
软件类型 开源软件
所属分类 程序开发缓存系统
开源组织
地区 国产
投 递 者 xizzhu
适用人群 未知
收录时间 2015-01-19

软件简介

用 Go 编写的一个简单的 LRUCache 库,示例代码:

// define a type that can be used with the cache
type myCacheableValue struct {
}

func (v *myCacheableValue) Size() uint64 {
    return 64
}

// create a LRUCache
cache := lrucache.New(1989)

// put value to the cache
value := myCacheableValue{}
cache.Set("key", value)

// get value from the cache
v, ok := cache.Get("key")
展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2015/05/11 14:06

picasso 之 LruCache

Lru是一种页面置换算法,当进程访问的页面不在内存,而且内存已无空闲空间时,系统必须从内存中调出一页送到磁盘的对换区。 调出的这一页到底是哪页呢?Lru就是其中一种算法,称为“最近最久未使用算法”。 从构造方法开始,  /** Create a cache using an appropriate portion of the available RAM as the maximum size. */   public LruCache(Context context) {     this(Utils.calculateMemoryC...

0
2
发表了博客
2015/02/15 10:33

LruCache的理解

package android.util; import java.util.LinkedHashMap; import java.util.Map; /** * Cache保存一个强引用来限制内容数量,每当Item被访问的时候,此Item就会移动到队列的头部。 * 当cache已满的时候加入新的item时,在队列尾部的item会被回收。 * 如果你cache的某个值需要明确释放,重写entryRemoved() * 如果key相对应的item丢掉啦,重写create().这简化了调用代码,即使丢失了也总会返回。 * 默认cache大小是测量的item的数...

0
2
发表于服务端专区
2019/06/20 22:45

聊聊dubbo的LRUCache

## 序 本文主要研究一下dubbo的LRUCache ## LRUCache dubbo-2.7.2/dubbo-common/src/main/java/org/apache/dubbo/common/utils/LRUCache.java ``` public class LRUCache extends LinkedHashMap { private static final long serialVersionUID = -5167631809472116969L; private static final float DEFAULT_LOAD_FACTOR = 0.75f; private static final int DEFAULT_MAX_CAPACITY = 1000; private final Lock lock = new Reent...

0
0
发表于开发技能专区
01/06 09:33

LRUCache实现

/** * @author mqgao * @date 2021/1/5 */ public class LRUCache { private class CacheNode { private CacheNode pre; private CacheNode next; private int value; private int key; CacheNode(int key, int value) { this.key = key; this.value = value; } } private class DoubleList { private CacheNode f...

0
0
发表了博客
2018/05/30 16:43

LRU算法与LRUCache

  关于LRU   LRU(Least recently used,最近最少使用)算法是操作系统中一种经典的页面置换算法,当发生缺页中断时,需要将内存的一个或几个页面置换出,LRU指出应该将内存最近最少使用的那些页面换出,依据的是程序的局部性原理,最近经常使用的页面再不久的将来也很有可能被使用,反之最近很少使用的页面未来也不太可能在使用。   其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。但此算法不能保证...

0
0
发表了博客
2013/11/15 10:51

异步加载图片(LruCache)

异步加载图片的例子,网上也比较多,大部分用了HashMap<String, SoftReference<Drawable>> imageCache ,但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。另外,Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,因而无法用一种可预见的方式将其释放,这就有潜在的风险造成应用程序的内存溢出...

0
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
6 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部