人生的烦恼,多在于知道的太多,而做的太少。

重温LRU缓存机制(LRUCache)

Android zhangman523@gmail.com 512℃ 0评论

重温LRU缓存机制(LRUCache)

LRU是什么?

LRULeast Recently Used 最近最少使用。LRUCache是最近最少使用缓存机制,即会优先淘汰近期最少使用的缓存对象。

LRUCache的实现原理。

LRUCache内部使用了LinkedHashMap来实现的。如果对LinkedHashMap不熟悉可以看这篇文章
LinkedHashMap解析
通过LinkedHashMap accessOrder 实现最近最少使用的实现。

LinkedHashmap 构造方法有一个public LinkedHashMap(int initialCapacity,float loadFactor,boolean accessOrder) 三个参数分别是initialCapacity初始容量、loadFactor负载系数、accessOrder 访问顺序。如果为true Linked 为访问顺序,false 为插入顺序。LRUCache 使用了这个构造方法,并且accessOrder为true。 每次会把访问的节点放到队尾。

LRUCache的具体实现

通过重写 removeEldestEntry方法和通过缓存大小计算初始容量来实现

LRUCache总结

LRUCache 通过LinkedHashMapaccessOrder(访问顺序) 来实现LRU缓存机制。

转载请注明:zhangman523 » 重温LRU缓存机制(LRUCache)

喜欢 (45)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址