随笔分类 -  23种设计模式

摘要:基本类图 静态代理 Client.java文件 package com.waibizi.static_proxy; public class Client { public static void main(String[] args) { //创建目标对象,也就是被代理的对象 Dao dao = 阅读全文
posted @ 2020-02-13 15:57 歪鼻子 阅读(190) 评论(0) 推荐(0)
摘要:package com.waibizi.demo07; @SuppressWarnings("all") public class Singleton_pattern { public static void main(String[] args) { // TODO Auto-generated 阅读全文
posted @ 2019-12-23 15:50 歪鼻子 阅读(718) 评论(0) 推荐(0)
摘要:package com.waibizi.demo06; public class Singleton_pattern { public static void main(String[] args) { // TODO Auto-generated method stub Singleton tes 阅读全文
posted @ 2019-12-23 15:38 歪鼻子 阅读(442) 评论(0) 推荐(0)
摘要:package com.waibizi.demo05; /** * 单例模式懒汉式双重检查 * 双重检查的概念是多线程开发中常使用的,入下方的代码,进行了两次的if(instance==null)检查,这样就保证了线程的安全 * 这样,实例化的代码只执行了一次 * 实际的开发中推荐使用这种形式 * 阅读全文
posted @ 2019-12-23 01:03 歪鼻子 阅读(815) 评论(0) 推荐(0)
摘要:package com.waibizi.demo04; /** * 懒汉式线程安全写法 * 优点:解决了线程不安全的问题 * 缺点:效率太低了,每个线程在想获得类的实例的时候,执行getInstance()方法都要进行同步,而其实这个方法只执行一次实例化代码就可以了,后面的想获得该类实例的时候 * 阅读全文
posted @ 2019-12-22 14:55 歪鼻子 阅读(910) 评论(0) 推荐(0)
摘要:package com.waibizi.demo03; /** * 优点:起到了懒加载的效果,但是只能在单线程的情况下使用 * 缺点:如果是多线程下,一个线程已经进入了if(instance==null) 但是还没来得及实例化,这时候另外一个线程也进入了if(instance==null) ,这时便 阅读全文
posted @ 2019-12-22 13:59 歪鼻子 阅读(1086) 评论(0) 推荐(0)
摘要:package com.waibizi.demo02; /** * 单例设计模式之饿汉式(静态代码块) * 这种方式与饿汉式静态常量的方式是类似的,类装载的时候也有直接创建对象 * @author 歪鼻子 * */ @SuppressWarnings("all") public class Sing 阅读全文
posted @ 2019-12-22 13:37 歪鼻子 阅读(311) 评论(0) 推荐(0)
摘要:package com.waibizi; /** * 单例设计模式之饿汉式(静态常量) * 步骤 * 1.构造器私有化(防止new) * 2.类的内部创建对象 * 3.向外暴露一个静态的公共方法 getInstance * 4.代码实现 * @author 歪鼻子 * * *优点:这种写法比较简单, 阅读全文
posted @ 2019-12-22 13:28 歪鼻子 阅读(299) 评论(0) 推荐(0)