GOF23
count2014
我听到的我会忘记,我看到的我能记住,只有我做过的我才能理解
展开
-
5种常见单例模式的特性比较及用法建议
1.常见5种单例模式实现方式 -主要: ①饿汉式:线程安全,调用效率高,但不能延时加载; ②饱汉式:线程安全,调用效率不高,能延时加载 -其他: ①双重检测锁式:由于JVM底层内部模型原因,偶尔会出问题,不建议使用; ②静态内部类式:线程安全,调用效率高,能延时加载; ③枚举式:线程安全,调用效率高,但不能延时加载。可以天然的防止反射和反序列化漏洞。 2.如何选用 -单例对象,占原创 2017-10-27 15:22:26 · 445 阅读 · 0 评论 -
单例模式-静态内部类Demo
/** * 测试静态内部类实现单例模式 * 特点:线程安全,调用效率高,并且实现了延时加载 * @author lenovo * */ public class SingletonDemo4 { private static class SingletonClassInstance{ private static final SingletonDemo4 instance = ne原创 2017-10-26 17:37:11 · 250 阅读 · 0 评论 -
适配器模式-对象适配器
1.适配器接口 package 适配器2; public interface Target { void handelReq(); } 2.被适配的类 package 适配器2; /** * 被适配的类 * 相当于ps/2键盘 * * * @author lenovo * */ public class Adaptee { public void request(){原创 2017-10-31 09:54:51 · 230 阅读 · 0 评论 -
适配器模式-类适配器
1.被适配的类 package 适配器2; /** * 被适配的类 * 相当于ps/2键盘 * * * @author lenovo * */ public class Adaptee { public void request(){ System.out.println("可以完成客户请求的需要的功能"); } } 2.适配器接口 package 适配器2; pu原创 2017-10-31 09:49:58 · 267 阅读 · 0 评论 -
代理模式-静态代理Demo
1.说明:借用歌星与经济人(代理)在现实生活中的关系来阐述代理模式; 2.代码 2.1明星接口 public interface Star{ void confer(); void signContract(); void bookTicket(); void sing(); void collectMoney(); }2.2真实明星实现明星接口 package 代理模式1.静态原创 2017-10-26 18:01:41 · 287 阅读 · 0 评论 -
代理模式-动态代理Demo(JDK自带的动态代理)
1.说明:借用歌星与经济人(代理)在现实生活中的关系来阐述代理模式; 2.代码 2.1明星接口public interface Star{ void confer(); void signContract(); void bookTicket(); void sing(); void collectMoney(); }2.2真实明星实现明星接口 package 代理模式1.动态代理原创 2017-10-26 17:40:10 · 171 阅读 · 0 评论 -
单例模式-双重检测锁(不建议使用)Demo
1.代码 /** * 双重检测锁实现单例模式 * @author lenovo * */ public class SingletonDemo3 { private static SingletonDemo3 instance = null; public static SingletonDemo3 getInstance(){ if(instance == null){原创 2017-10-26 17:32:56 · 531 阅读 · 0 评论 -
单例模式-懒汉式、饿汉式Demo
1.懒汉式 public class SingletonDemo2 { //初始化类时,不初始化这个对象(延时加载,真正用的时候再加载) private static SingletonDemo2 instance; private SingletonDemo2(){}//构造方法私有化 //方法同步,调用效率低 public static synchronized Singl原创 2017-10-26 17:30:46 · 239 阅读 · 0 评论