`
jiewo
  • 浏览: 47999 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

LRUcache的一种实现

    博客分类:
  • java
阅读更多
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实现 同步LRUCache

    LRUCache(Least Recently Used Cache)是一种...总之,LRUCache是一种高效且常见的缓存策略,通过`LinkedHashMap`可以轻松实现其基本逻辑。在多线程环境下,我们需要额外关注线程安全问题,确保缓存的正确性和一致性。

    LruCache/DiskLruCache实现照片墙

    LruCache(Least Recently Used Cache)是Android SDK提供的一种基于最近最少使用算法(LRU)的内存缓存方案。LRU算法的核心思想是,当缓存满时,最近最少使用的数据会被优先淘汰。LruCache是HashMap的子类,它维护...

    LruCache和DiskLruCache实现二级缓存的自定义ImageLoader

    此时,我们可以引入`DiskLruCache`作为二级缓存,它是一种基于磁盘的缓存,能够长期保存大量数据。`DiskLruCache`的使用相对复杂,需要处理文件的读写操作: ```java public class DiskLruCacheHelper { private ...

    LruCache实现图片缓存

    `LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used, LRU)策略的内存缓存机制。在这个场景中,我们将深入探讨如何使用`LruCache`来实现图片缓存,以及它的核心原理。 首先,我们需要了解`...

    FrameAnimation帧动画以及LruCache优化的自定动画

    本DEMO深入探讨了三种实现帧动画的方法,并结合LruCache内存缓存策略来优化性能,防止因大量图片加载导致的内存溢出(OOM)问题。 一、FrameAnimation+xml方式 在Android中,通过XML资源文件可以方便地创建帧动画。...

    LruCache缓存demo

    在Android系统中,LRUCache是Android SDK提供的一种基于LRU策略的内存缓存工具,主要用于图片、数据库记录等对象的缓存,以提高应用性能。 标题“LruCache缓存demo”指的是一个关于如何使用LRUCache进行缓存操作的...

    LruCache缓存网络图片

    "LruCache缓存网络图片"这个主题主要涉及到Android内存缓存的一种实现方式——LRU(Least Recently Used)最近最少使用算法。LRUCache是Android SDK提供的一种基于LRU算法的内存缓存工具,它被广泛应用于存储像图片...

    Android使用LruCache缓存图片

    `LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used)算法的内存缓存机制,常用于图片、数据等对象的缓存,以减少磁盘读取和网络加载的次数。本文将详细介绍如何在Android应用中使用`LruCache...

    基于LruCache listView缓存图片工具类

    `LruCache`是Android SDK提供的一种内存缓存机制,它可以帮助我们优化应用程序的性能,减少对内存的消耗,提升用户体验。本文将深入探讨如何使用基于`LruCache`的图片加载工具类在ListView中实现图片缓存。 首先,`...

    LruCache Demo

    LRU算法是一种常用的页面替换策略,其基本思想是:当内存空间不足以存放所有数据时,优先淘汰最近最少使用的数据。在Android的LRUCache中,这个原则体现在对键值对的存储上。每次添加新的数据,如果内存已满,...

    LruCache缓存

    在Android开发中,`LruCache`是Google提供的一种基于LRU算法实现的缓存机制,它被广泛应用于图片、数据库查询结果等数据的缓存,以提高应用性能和用户体验。 ### LRU算法原理 LRU算法的基本思想是:当内存空间满时...

    android图片下载LruCache实现三级缓存方式

    首先,LruCache是Android SDK提供的一种基于最近最少使用原则(Least Recently Used)的内存缓存机制。LRU策略的核心思想是:当缓存空间满时,最近最少使用的数据会被优先淘汰。在图片加载场景中,LruCache可以帮助...

    C# LRUcache

    LRU(Least Recently Used)缓存是一种常用的内存管理策略,用于在有限的内存空间中保持数据的高效访问。在计算机科学和编程中,LRU 缓存被广泛应用于数据库、操作系统以及各种编程语言的实现中,包括C#。C# LRU缓存...

    Android LRUCache机制 缓存机制

    LRUCache(Least Recently Used Cache,最近最少使用缓存)是一种常用的内存缓存策略,它通过维护一个固定大小的缓存,并按照数据的最近使用情况来决定哪些数据应该被保留,哪些数据可以被移除。 #### 二、LRUCache...

    android图片墙lrucache oom

    LRUCache(Least Recently Used Cache)是一种常用的缓存淘汰策略,它基于“最近最少使用”的原则。当缓存满时,会优先移除最近最少使用的数据。在Android中,LRUCache可以用于图片缓存,避免每次都重新加载图片,...

    PhotosWallDemo 结合LruCache和DiskLruCache

    首先,LruCache(Least Recently Used Cache)是Android SDK中提供的一种基于最近最少使用原则的内存缓存机制。它的核心思想是当缓存空间满时,优先淘汰最近最少使用的数据。LruCache内部通过双向链表和哈希表实现,...

    LruCache实例demo

    `LruCache`是Android SDK提供的一种基于最近最少使用(Least Recently Used, LRU)算法的内存缓存机制,用于高效地管理应用程序的内存资源。本篇文章将深入探讨`LruCache`的工作原理,以及如何在实际项目中使用它。 ...

    LRUCache:用Java实现的小型LRUCache。 不顾编码测试而制造

    LRUCache(Least ...总之,LRUCache是一种常见的缓存策略,通过合理的设计和Java 8提供的工具类,可以高效地实现一个线程安全的LRU缓存系统。在面试或编程练习中,掌握LRUCache的原理和实现方式是非常有价值的。

    利用DiskLruCache和LruCache实现简单的照片墙--demo

    它是Android SDK中提供的一种基于内存的缓存策略。LruCache内部采用链表结构维护存储的数据,当缓存满时,会优先移除最近最少使用的数据。在图片墙应用中,LruCache可以用于保存加载到内存中的图片,以提高图片的...

    浅谈Android LruCache的缓存策略

    本文主要讨论了Android中的LruCache缓存策略,它是一种高效的内存管理机制,尤其适用于图片或者其他大对象的缓存。 一、Android缓存策略概述 缓存的基本操作包括添加、获取和删除。在Android系统中,内存缓存和...

Global site tag (gtag.js) - Google Analytics