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);
}
}
分享到:
相关推荐
`SimpleCache`是Java开发中一种常用的缓存工具,它主要目的是为了提高应用程序的性能和响应速度,通过将频繁访问的数据暂存到内存中,避免每次请求时都去查询数据库或进行其他耗时操作。在Java世界里,缓存机制是一...
本文将深入探讨Android中的缓存优化技术,特别是SimpleCache的使用,它是Android开发者用来管理图片缓存的一种高效工具。 1. **缓存的重要性** - 缓存的主要目标是减少对网络资源的依赖,降低数据读取延迟,提高...
本项目“优化增强的缓存机制(SimpleCache)”提供了一种简单易用的缓存实现,主要针对Java环境。通过对源码的学习,我们可以深入了解缓存的工作原理以及如何在实际开发中进行优化。 首先,`AsimpleCacheDemo`很可能...
本项目"Android优化增强的缓存机制(SimpleCache)"聚焦于Android系统中如何有效地实现数据缓存,以提高应用的响应速度和减少网络资源的消耗。下面将详细探讨SimpleCache的原理、实现方式及其在毕业设计和论文中的应用...
基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java...
Java 缓存工具 SimpleCache 是一个专为 Java 应用程序设计的轻量级、高性能的缓存解决方案。它能够帮助开发者有效地存储和检索数据,提高应用的响应速度,减轻数据库的压力,尤其在处理大量重复读取的数据时,...
在这个 SimpleCache.zip 压缩包中,包含的是 SimpleCache 库的一个版本,具体为 yishh-cache-09860a6。 Java 缓存的主要目标是减少对数据库或其他慢速资源的访问,通过存储先前计算的结果或经常请求的数据,来提高...
《深入解析Java缓存工具SimpleCache》 在Java开发中,缓存技术是提升系统性能的重要手段之一。本文将详细探讨基于Java的开源缓存工具——SimpleCache,它旨在为开发者提供简单、高效的缓存解决方案。通过对源码的...
Java 缓存工具 SimpleCache 是一个用于在 Java 应用程序中实现高效数据存储和检索的框架。在高并发和大数据量的场景下,缓存是提高系统性能的关键技术之一。SimpleCache 提供了一种简洁的方式来管理短期数据,避免了...
SimpleCache 是一个基于Java的轻量级缓存解决方案,旨在提高应用程序的响应速度和减少数据库的负载。通过将常用数据存储在内存中,SimpleCache可以在需要时快速提供数据,避免了反复读取磁盘或远程服务的开销。 ...
"SimpleCache"是一个针对Android平台优化的缓存解决方案,旨在减少网络请求,提高数据加载速度,以及降低应用程序对用户流量的消耗。通过深入理解并应用SimpleCache,开发者可以构建更加流畅、响应迅速的应用程序。 ...
下面我们将详细探讨SimpleCache的原理、使用方法以及优化策略。 一、SimpleCache简介 SimpleCache是基于OkHttp库的一个扩展,它通过提供一个简单的API,使得开发者可以方便地管理本地存储的HTTP响应。SimpleCache将...
SimpleCache是一个优化增强的缓存解决方案,尤其在处理网络数据时,能够有效地减少网络请求,提高数据加载速度,降低服务器压力。本篇文章将深入探讨SimpleCache的实现原理及其在Android源码中的应用。 首先,我们...
【Java缓存工具 SimpleCache】是一个实用的Java编程示例,它展示了如何在应用程序中实现一个简单的缓存机制。在软件开发中,缓存是一种优化技术,用于存储频繁访问的数据,以便快速检索,减少对主数据库或其他计算...
`laravel-simplecache-middleware`是一个用于简化URL缓存的中间件,它允许开发者快速有效地缓存特定路由的响应,从而减少数据库查询,提高页面加载速度。在这个项目中,我们将深入探讨Laravel的缓存系统,以及`...
SimpleCache是一个简洁而实用的Java缓存工具,它可以帮助开发者快速实现本地缓存功能。这个压缩包文件“SimpleCache.zip”包含了一个名为“yishh-cache-09860a6”的源码文件,我们可以从中学习到关于Java缓存的基本...