今天说缓存
缓存是一块为提升系统性能开发的内存空间。主要作用是暂存数 据处理的结果,并提供下次访问使用。很多场合,数据的处理或数据获取都比较耗时耗资源,频繁的访问处理等有可能会耗尽cpu资源,因此采用缓存,将结果缓存起来,当其他线程或者客户端访问时,直接将结果 从缓存中取出返回。以此来提高系统的响应时间。
最简单的实现缓存:使用hashmap对象,这样做有一些问题,如何清理无效的数据,如何防止缓存数据过。多而导致内存溢出等等。一个稍好的直接方案,采用WeakHashMap 他 使用了弱引用维护一张哈希表,从而避免了内存溢出的问题。 再自己自我实现的小框架中 采用 CurrentHashMap+ 软引用 + 缓存策略(定时销毁)来实现一个简单的缓存小框架功能(并做好适配,毕竟缓存框架有很多)我这里只不想引用那些jar 包而写的,开源框架的功能比较完善。如何使用其他框架,那必须做到快速适配,不需要修改客户端调用代码,即可完成,感觉这个做的还不错。
现在主要说一下 通过动态代理来实现缓存方案。,使用动态代理无需修改一个逻辑方法的代码,便能增加缓存提高系统性能。
这里可以举例来说 通过cglib 生成动态代理类的方法拦截器。
public clas Cglibinterceptor implements MethodInterceptor{
A a = new A();
public Object intercept(Object obj,Method arg1,Object[] arg2,MethodProxy arg3) throws Throwable{
Object v = CacheUtil.get("cache",(Seriaalizable)arg2[0]);
if(v == null){
v = a.heavyMethod(((Integer)arg2[0]));
CacheUtil.put("cache",(Integer)arg2[0],v);
}
return v;
}
}
public static A newA{
Enhancer enhancer = new Enhander();
enhancer.setSuperclas(A.class);
enhancer.setCallback(new Cglibinterceptor() );
A proxy = (A)enhancer.create();
return proxy;
}
相关推荐
【企业信息化与知识工程-第04讲】的讲解主要聚焦于项目管理这一主题,它涵盖了项目管理的基础概念、核心人物、关键阶段、管理领域以及监控方法等多个方面。以下是相关知识点的详细阐述: 1. **项目管理定义**:项目...
以下是对文件《电子-第五讲争分夺秒.pdf》的内容知识点的详细解读。 标题《电子-第五讲争分夺秒.pdf》暗示了这是一系列关于电子技术或单片机课程中的第五节课,其核心内容可能集中在如何高效、准确地使用单片机和...
新东方线性代数笔记--第一讲_行列式--李永乐.pdf ...知识点5: 习题 该笔记还提供了一些练习题,以帮助学生巩固行列式的概念和计算方法。 该资源为学习线性代数和矩阵论的学生提供了一个非常有价值的参考资料。
Oracle扫盲-第一讲-创建和管理表PPT课件 本资源主要讲述Oracle数据库管理系统的基本知识,包括创建和管理表的方法、数据类型、CREATE TABLE语句、数据字典等。 知识点1:数据类型 Oracle数据库中有多种数据类型,...
"哈工大DB-第5讲关系模型--关系演算1" 关系元组演算是关系模型中的一种重要的查询语言,通过对关系元组的操作来实现查询。关系元组演算的公式形式是:∀t (P(t)),其中t是元组变量,P(t)是谓词逻辑公式。 关系...
【知识点详解】 1. 绝对值的几何意义与不等式: 绝对值在数轴上表示一个数到原点的距离,因此,不等式`|a+b|≤|a|+|b|`和`|a-b|≤|a-c|+|c-b|`具有几何意义,意味着在数轴上,两个点的和或差的绝对值不会超过这两...
这通常是一份教程或者课程笔记,涵盖了C语言的深入知识点,可能是对基础概念的巩固或是更高级主题的介绍。 描述同样为"**C语言进阶-第2讲C语言复习共25页.pdf.zip**",进一步确认了内容是关于C语言的复习资料,...
《注册会计师精品入门班-丁奎山18讲-第7讲_会计基础知识(5)》的课程内容主要涵盖了会计中的关键概念,如货币时间价值和增值税的计算与应用。这部分知识是会计学的基础,对于理解和处理企业的财务事务至关重要。 ...
- **第五讲:** 数据结构与链表,学习高效的数据组织方式。 - **第六讲:** 中断与设备驱动,探索嵌入式系统的实时响应机制。 - **第七讲:** 编码风格,培养良好的编程习惯。 - **第八讲:** 编写安全无错的代码,...
由于提供的文件内容信息过少,无法生成详细的知识点。为了能够完成任务,我需要更多的文档内容,包括但不限于:课程的详细介绍、具体的教学内容、相关的职业规划理论、实际案例分析、以及职业规划的具体方法和步骤。...
【知识点详解】 高中一年级物理第一讲的核心内容是如何准确地描述物体的运动,主要涉及四个关键概念:位移、路程、平均速度与平均速率、瞬时速度与加速度,以及运动图像的分析与应用。 1. **位移与路程**: - ...
这暗示了这些资料具有一定的持久性和教学价值,可能包含了历年来的教学经验和知识点总结。 【标签】"c语言"明确了教学内容的核心,即C语言。C语言是一种广泛应用的编程语言,它的语法简洁、高效,是学习计算机科学...
第5讲-集中式网关+FW部署VRF间的通信 第6讲-VXLAN-静态VXLAN隧道+MPBGP 第7讲-VXLAN-EVPN分布式网关 第8讲-VXLAN-EVPN-TYPE235路由 第9讲-XLAN EVPN的知识点回顾 第10讲-VXLAN的综合实验 第11讲-IPV6的基础-...
由于提供的文件内容是经过OCR技术扫描识别的文本,存在许多乱码和不完整的信息,这使得直接从这些内容中提取知识点变得十分困难。不过,我们可以从标题和描述中挖掘出知识点。 标题和描述提到了“电子-第二讲...
### 计算机图形学——第四讲 区域填充算法 #### 一、课程概览与基础知识 **任课教师:** 李陶深教授 **邮箱:** tshli@gxu.edu.cn 本课程主要围绕计算机图形学中的一个重要主题——区域填充算法展开。通过这一讲...
网页设计与制作教案-第10讲-布局技术之二—Div-CSS二 本教案旨在教授学生掌握 Div+CSS 布局技术,理解 CSS 盒子模型和规则设置方法,培养学生认真细致、踏实进取的精神。 知识点一:CSS 盒子模型 * CSS 盒子模型...
2020届中考英语总复习知识点梳理第5讲七下Units7_9试题20200408118
【中考物理专项分类知识点讲解第5讲:运动和力专题】 在初中物理的学习中,运动和力是一个重要的专题,涉及到的领域广泛,包括机械运动、长度和时间的测量、参照物与运动的相对性,以及力的概念和作用效果。本讲...