`
hu1010
  • 浏览: 23805 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SimpleCache

阅读更多
public class SimpleCache {
    private static long wideHits;
    private static long wideMisses;
 
    private Hashtable cache;
    private Vector stamps;
    private int maxSize;
    private long hits;
    private long misses;
 
    public static long getWideHits() {
        return wideHits;
    }
 
    public static long getWideMisses() {
        return wideMisses;
    }
 
 
    public SimpleCache(final int size) {
        this.maxSize = size;
        cache = new Hashtable(size);
        stamps = new Vector(size);
    }
 
    public int getMaxSize() {
        return maxSize;
    }
 
    public void setMaxSize(final int maxSize) {
        this.maxSize = maxSize;
    }
 
    public int getSize() {
        return cache.size();
    }
 
    public void add(final Object key, final Object object) {
        final Hashtable cache = this.cache;
 
        if (!cache.containsKey(key)) {
            if (cache.size() == maxSize) {
                discard();
            }
            cache.put(key, object);
            stamps.insertElementAt(key, 0);
        } else {
            cache.put(key, object);
            touch(key);
        }
    }
 
    public void remove(final Object key) {
        if (stamps.contains(key)) {
            stamps.removeElement(key);
            cache.remove(key);
        }
    }
 
    public void clear() {
        cache.clear();
        stamps.removeAllElements();
        hits = misses = 0;
    }
 
    public synchronized Object get(final Object key) {
        final Object o = cache.get(key);
        if (o != null) {
            hits++;
            wideHits++;
            touch(key);
        } else {
            misses++;
            wideMisses++;
        }
        return o;
    }
 
    public long getHits() {
        return hits;
    }
 
    public long getMisses() {
        return misses;
    }
 
    private void discard() {
        final Object key = stamps.lastElement();
        stamps.removeElement(key);
        cache.remove(key);
    }
 
    private void touch(final Object key) {
        stamps.removeElement(key);
        stamps.insertElementAt(key, 0);
    }
}
分享到:
评论

相关推荐

    java缓存工具 SimpleCache

    `SimpleCache`是Java开发中一种常用的缓存工具,它主要目的是为了提高应用程序的性能和响应速度,通过将频繁访问的数据暂存到内存中,避免每次请求时都去查询数据库或进行其他耗时操作。在Java世界里,缓存机制是一...

    Android之优化增强的缓存机制(SimpleCache)_图片缓存.zip

    本文将深入探讨Android中的缓存优化技术,特别是SimpleCache的使用,它是Android开发者用来管理图片缓存的一种高效工具。 1. **缓存的重要性** - 缓存的主要目标是减少对网络资源的依赖,降低数据读取延迟,提高...

    优化增强的缓存机制(SimpleCache).zip

    本项目“优化增强的缓存机制(SimpleCache)”提供了一种简单易用的缓存实现,主要针对Java环境。通过对源码的学习,我们可以深入了解缓存的工作原理以及如何在实际开发中进行优化。 首先,`AsimpleCacheDemo`很可能...

    Android 优化增强的缓存机制(SimpleCache)-IT计算机-毕业设计.zip

    本项目"Android优化增强的缓存机制(SimpleCache)"聚焦于Android系统中如何有效地实现数据缓存,以提高应用的响应速度和减少网络资源的消耗。下面将详细探讨SimpleCache的原理、实现方式及其在毕业设计和论文中的应用...

    基于java的开发源码-Java缓存工具 SimpleCache.zip

    基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java...

    java缓存工具 SimpleCache.7z

    Java 缓存工具 SimpleCache 是一个专为 Java 应用程序设计的轻量级、高性能的缓存解决方案。它能够帮助开发者有效地存储和检索数据,提高应用的响应速度,减轻数据库的压力,尤其在处理大量重复读取的数据时,...

    基于java的java缓存工具 SimpleCache.zip

    在这个 SimpleCache.zip 压缩包中,包含的是 SimpleCache 库的一个版本,具体为 yishh-cache-09860a6。 Java 缓存的主要目标是减少对数据库或其他慢速资源的访问,通过存储先前计算的结果或经常请求的数据,来提高...

    基于Java的源码-Java缓存工具 SimpleCache.zip

    《深入解析Java缓存工具SimpleCache》 在Java开发中,缓存技术是提升系统性能的重要手段之一。本文将详细探讨基于Java的开源缓存工具——SimpleCache,它旨在为开发者提供简单、高效的缓存解决方案。通过对源码的...

    java缓存工具 SimpleCache_java_缓存_

    Java 缓存工具 SimpleCache 是一个用于在 Java 应用程序中实现高效数据存储和检索的框架。在高并发和大数据量的场景下,缓存是提高系统性能的关键技术之一。SimpleCache 提供了一种简洁的方式来管理短期数据,避免了...

    基于Java的Java缓存工具 SimpleCache.zip

    SimpleCache 是一个基于Java的轻量级缓存解决方案,旨在提高应用程序的响应速度和减少数据库的负载。通过将常用数据存储在内存中,SimpleCache可以在需要时快速提供数据,避免了反复读取磁盘或远程服务的开销。 ...

    Android应用源码之优化增强的缓存机制(SimpleCache).zip

    "SimpleCache"是一个针对Android平台优化的缓存解决方案,旨在减少网络请求,提高数据加载速度,以及降低应用程序对用户流量的消耗。通过深入理解并应用SimpleCache,开发者可以构建更加流畅、响应迅速的应用程序。 ...

    安卓开发-优化增强的缓存机制(SimpleCache).zip

    下面我们将详细探讨SimpleCache的原理、使用方法以及优化策略。 一、SimpleCache简介 SimpleCache是基于OkHttp库的一个扩展,它通过提供一个简单的API,使得开发者可以方便地管理本地存储的HTTP响应。SimpleCache将...

    安卓Android源码——优化增强的缓存机制(SimpleCache).zip

    SimpleCache是一个优化增强的缓存解决方案,尤其在处理网络数据时,能够有效地减少网络请求,提高数据加载速度,降低服务器压力。本篇文章将深入探讨SimpleCache的实现原理及其在Android源码中的应用。 首先,我们...

    基于Java的实例源码-Java缓存工具 SimpleCache.zip

    【Java缓存工具 SimpleCache】是一个实用的Java编程示例,它展示了如何在应用程序中实现一个简单的缓存机制。在软件开发中,缓存是一种优化技术,用于存储频繁访问的数据,以便快速检索,减少对主数据库或其他计算...

    Laravel开发-laravel-simplecache-middleware

    `laravel-simplecache-middleware`是一个用于简化URL缓存的中间件,它允许开发者快速有效地缓存特定路由的响应,从而减少数据库查询,提高页面加载速度。在这个项目中,我们将深入探讨Laravel的缓存系统,以及`...

    java源码:java缓存工具 SimpleCache.zip

    SimpleCache是一个简洁而实用的Java缓存工具,它可以帮助开发者快速实现本地缓存功能。这个压缩包文件“SimpleCache.zip”包含了一个名为“yishh-cache-09860a6”的源码文件,我们可以从中学习到关于Java缓存的基本...

Global site tag (gtag.js) - Google Analytics