用java动态代理类实现方法缓存
2005-02-06 15:17
573 查看
今天看了一片文章,讲解如何用java动态代理实现方法的缓存
http://www.matrix.org.cn/article/487.html
看完有以下理解:
首先,他的缓存是针对InvocationHandler实现对象的一个实例来缓存,而不是全局的。
每一个Memoizer.memoize方法调用,将重新生成一个Memoizer实例。
public static Object memoize(Object object) {
return Proxy.newProxyInstance(
object.getClass().getClassLoader(),
object.getClass().getInterfaces(),
new Memoizer(object)
);
}
方法中object.getClass().getInterfaces()的用法比较灵活,实现了任何对象和接口的动态实例。这也是基于动态代理的aop的实现思想。
http://www.matrix.org.cn/article/487.html
看完有以下理解:
首先,他的缓存是针对InvocationHandler实现对象的一个实例来缓存,而不是全局的。
每一个Memoizer.memoize方法调用,将重新生成一个Memoizer实例。
public static Object memoize(Object object) {
return Proxy.newProxyInstance(
object.getClass().getClassLoader(),
object.getClass().getInterfaces(),
new Memoizer(object)
);
}
方法中object.getClass().getInterfaces()的用法比较灵活,实现了任何对象和接口的动态实例。这也是基于动态代理的aop的实现思想。
相关文章推荐
- Java自定义注解实现Redis自动缓存的方法
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)
- java动态代理类,测试,实现AOP,在执行target回调方法前后插入相关代码处理
- Java实现一个简单的缓存方法
- java简单实现缓存的三种方法
- Java实现一个简单的缓存方法
- java实现酷狗音乐临时缓存文件转换为MP3文件的方法
- android利用Context提供的方法实现java映射
- 如何正确实现Java中的hashCode方法
- Java动态代理的两种实现方法
- JAVA使用XML作为持久存储介质实现方法
- java 过滤字符串方法实现
- java 定时器实现的两种方法
- android异步加载图片并缓存到本地实现方法
- HAL/JNI简明笔记(三)——java如何识别native方法的实现
- 黑马程序员_Java基础加强实现带有构造方法的枚举
- 用非递归方法实现 求解字符串组合的问题 JAVA代码
- java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天
- 安卓开发文件缓存方法的具体实现
- JAVA中用动态代理类实现记忆功能(二)