
设计模式
周世文_围城
对自己狠一点,就成功了一半
展开
-
单例模式
单例模式有懒汉式和饿汉式 先来懒汉式public class Singleton { private static Singleton singleton; private Singleton(){} public static Singleton getInstance(){ if(singleton==null){原创 2017-06-07 15:21:22 · 215 阅读 · 0 评论 -
Java动态代理
代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程原创 2017-06-07 11:47:19 · 631 阅读 · 0 评论 -
动态代理之CGLib
动态代理之CGLib jdk动态代理和cglib动态代理。两种方法同时存在,各有优劣。 jdk动态代理是由Java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的。 总的来说,反射机制在生成类的过程中比较高效,而asm在生成类之后的相关执行过程中比较高效(可以通过将asm生成的类进行缓存,这样解决asm生成类过程低效问题),cglib动态代理中生成的字节码更加复杂,生成的代原创 2017-06-07 13:52:40 · 390 阅读 · 0 评论