package com.ruijie.spl.usermanage.cache;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
public class LRUCache<K,V> {
int cacheSize = 0;
float loadFactor = 0.75f;
LinkedHashMap<K,V> map;
public LRUCache(int cacheSize) {
this.cacheSize = cacheSize;
map = new LinkedHashMap<K,V>(cacheSize, loadFactor, true) {
private static final long serialVersionUID = -1496596499685247267L;
protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
return size() > LRUCache.this.cacheSize;
}
};
}
public synchronized void clear(){
map.clear();
}
public synchronized V get(K k){
return map.get(k);
}
public synchronized void put(K k, V v){
map.put(k,v);
}
public synchronized V remove(K k){
return map.remove(k);
}
public synchronized int size(){
return map.size();
}
public synchronized Collection<?> values(){
return map.values();
}
public synchronized void addAll(Map<K,V> m){
map.putAll(m);
}
}
分享到:
相关推荐
LRUCache(Least Recently Used Cache)是一种...总之,LRUCache是一种高效且常见的缓存策略,通过`LinkedHashMap`可以轻松实现其基本逻辑。在多线程环境下,我们需要额外关注线程安全问题,确保缓存的正确性和一致性。
LruCache(Least Recently Used Cache)是Android SDK提供的一种基于最近最少使用算法(LRU)的内存缓存方案。LRU算法的核心思想是,当缓存满时,最近最少使用的数据会被优先淘汰。LruCache是HashMap的子类,它维护...
此时,我们可以引入`DiskLruCache`作为二级缓存,它是一种基于磁盘的缓存,能够长期保存大量数据。`DiskLruCache`的使用相对复杂,需要处理文件的读写操作: ```java public class DiskLruCacheHelper { private ...
`LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used, LRU)策略的内存缓存机制。在这个场景中,我们将深入探讨如何使用`LruCache`来实现图片缓存,以及它的核心原理。 首先,我们需要了解`...
本DEMO深入探讨了三种实现帧动画的方法,并结合LruCache内存缓存策略来优化性能,防止因大量图片加载导致的内存溢出(OOM)问题。 一、FrameAnimation+xml方式 在Android中,通过XML资源文件可以方便地创建帧动画。...
在Android系统中,LRUCache是Android SDK提供的一种基于LRU策略的内存缓存工具,主要用于图片、数据库记录等对象的缓存,以提高应用性能。 标题“LruCache缓存demo”指的是一个关于如何使用LRUCache进行缓存操作的...
"LruCache缓存网络图片"这个主题主要涉及到Android内存缓存的一种实现方式——LRU(Least Recently Used)最近最少使用算法。LRUCache是Android SDK提供的一种基于LRU算法的内存缓存工具,它被广泛应用于存储像图片...
`LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used)算法的内存缓存机制,常用于图片、数据等对象的缓存,以减少磁盘读取和网络加载的次数。本文将详细介绍如何在Android应用中使用`LruCache...
`LruCache`是Android SDK提供的一种内存缓存机制,它可以帮助我们优化应用程序的性能,减少对内存的消耗,提升用户体验。本文将深入探讨如何使用基于`LruCache`的图片加载工具类在ListView中实现图片缓存。 首先,`...
LRU算法是一种常用的页面替换策略,其基本思想是:当内存空间不足以存放所有数据时,优先淘汰最近最少使用的数据。在Android的LRUCache中,这个原则体现在对键值对的存储上。每次添加新的数据,如果内存已满,...
在Android开发中,`LruCache`是Google提供的一种基于LRU算法实现的缓存机制,它被广泛应用于图片、数据库查询结果等数据的缓存,以提高应用性能和用户体验。 ### LRU算法原理 LRU算法的基本思想是:当内存空间满时...
首先,LruCache是Android SDK提供的一种基于最近最少使用原则(Least Recently Used)的内存缓存机制。LRU策略的核心思想是:当缓存空间满时,最近最少使用的数据会被优先淘汰。在图片加载场景中,LruCache可以帮助...
LRU(Least Recently Used)缓存是一种常用的内存管理策略,用于在有限的内存空间中保持数据的高效访问。在计算机科学和编程中,LRU 缓存被广泛应用于数据库、操作系统以及各种编程语言的实现中,包括C#。C# LRU缓存...
LRUCache(Least Recently Used Cache,最近最少使用缓存)是一种常用的内存缓存策略,它通过维护一个固定大小的缓存,并按照数据的最近使用情况来决定哪些数据应该被保留,哪些数据可以被移除。 #### 二、LRUCache...
LRUCache(Least Recently Used Cache)是一种常用的缓存淘汰策略,它基于“最近最少使用”的原则。当缓存满时,会优先移除最近最少使用的数据。在Android中,LRUCache可以用于图片缓存,避免每次都重新加载图片,...
首先,LruCache(Least Recently Used Cache)是Android SDK中提供的一种基于最近最少使用原则的内存缓存机制。它的核心思想是当缓存空间满时,优先淘汰最近最少使用的数据。LruCache内部通过双向链表和哈希表实现,...
`LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used, LRU)算法的内存缓存机制,用于高效地管理应用程序的内存资源。本篇文章将深入探讨`LruCache`的工作原理,以及如何在实际项目中使用它。 ...
LRUCache(Least ...总之,LRUCache是一种常见的缓存策略,通过合理的设计和Java 8提供的工具类,可以高效地实现一个线程安全的LRU缓存系统。在面试或编程练习中,掌握LRUCache的原理和实现方式是非常有价值的。
它是Android SDK中提供的一种基于内存的缓存策略。LruCache内部采用链表结构维护存储的数据,当缓存满时,会优先移除最近最少使用的数据。在图片墙应用中,LruCache可以用于保存加载到内存中的图片,以提高图片的...
本文主要讨论了Android中的LruCache缓存策略,它是一种高效的内存管理机制,尤其适用于图片或者其他大对象的缓存。 一、Android缓存策略概述 缓存的基本操作包括添加、获取和删除。在Android系统中,内存缓存和...