
设计模式总结
发布日期:2021-05-06 22:53:08
浏览次数:25
分类:精选文章
本文共 1074 字,大约阅读时间需要 3 分钟。
设计模式总结
设计模式是程序员一种约定俗成的编码规矩,是众多的程序员在多年的代码生涯中归纳中介得到的经验精华。也是面试中常常被面试官问道的,但是23种设计模式很多,要弄清楚绝非短期能够做到,本文总结了工作中最常见的设计模式以及面试中常考的设计模式。
单例模式
饿汉模式
在类被被加载到JVM后,对象就已经被创建好。
//饿汉模式,很饿很着急,所以类加载时即创建实例对象public class Singleton1 { private static Singleton1 singleton = new Singleton1(); private Singleton1(){ } public static Singleton1 getInstance(){ return singleton; }}
饱汉模式
类被加载到JVM时,对象并没有被创建。而是在获取对象时,如果没有被创建,才创建对象。
//饱汉模式,很饱不着急,延迟加载,啥时候用啥时候创建实例,存在线程安全问题public class Singleton2 { private static Singleton2 singleton; private Singleton2(){ } public static synchronized Singleton2 getInstance(){ if(singleton == null) singleton = new Singleton2(); return singleton; }}
注意在多线程环境下,为了保证线程安全,需要采用Java的锁机制。
还有其他的方式来保证饱汉模式在多线程环境下的安全。静态内部类实现
静态内部类实现是线程安全的。
public class Singleton { private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } private Singleton (){ } public static final Singleton getInstance() { return SingletonHolder.INSTANCE; } }
工厂模式
简单工厂模式
代理模式
静态代理模式
动态代理模式
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月31日 14时16分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
上周热点回顾(3.2-3.8)
2021-05-09
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2021-05-09
上周热点回顾(7.27-8.2)
2021-05-09
上周热点回顾(5.9-5.15)
2021-05-09
上周热点回顾(1.16-1.22)
2021-05-09
上周热点回顾(1.23-1.29)
2021-05-09
上周热点回顾(3.20-3.26)
2021-05-09
上周热点回顾(6.19-6.25)
2021-05-09
云计算之路-阿里云上:docker swarm 集群故障与异常
2021-05-09
上周热点回顾(2.19-2.25)
2021-05-09
云计算之路-阿里云上:博客web服务器轮番CPU 100%
2021-05-09
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
2021-05-09
上周热点回顾(3.26-4.1)
2021-05-09
上周热点回顾(6.25-7.1)
2021-05-09
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
2021-05-09
工作半年的思考
2021-05-09
不可思议的纯 CSS 滚动进度条效果
2021-05-09
【CSS进阶】伪元素的妙用--单标签之美
2021-05-09
惊闻NBC在奥运后放弃使用Silverlight
2021-05-09