java学习笔记(中级篇)—单例模式
2019-08-16 11:31:43来源:博客园 阅读 ()
java学习笔记(中级篇)—单例模式
一、概念
单例模式就是在一个java应用程序中,一个class类只有一个实例。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
二、好处
我们知道JVM的内存资源是很宝贵的,尤其是在程序很庞大的时候,尽量减少创建不必要的对象是能够很大程度的减少内存的开销。单例模式的好处就是能够节省内存,限制了实例对象的创建。
三、使用场景
在一个应用程序中的共享资源可以考虑使用单例模式,比如日志、配置、数据连接池、线程池等;熟悉servlet的童鞋一定知道,servlet组件也是单例模式的,因为频繁的创建servlet线程会消耗大量资源,影响系统性能,这也是单例模式的好处体现。
四、简单实现
单例模式有种实现方式:
恶汉式
所谓恶汉式,就是提前先创建好实例对象,直接拿就好了;
懒汉式
所谓懒汉式,就是需要用的时候再创建;懒汉式的缺点是非线程安全,只有加上关键字synchronized才能保证同步,但是会降低效率。
实现要素:
- 构造器私有化
- 实例对象私有化
- 创建公有的方法返回一个实例对象
代码实现
- 懒汉式
//单例模式-懒汉式
public class Singleton {
private static Singleton singleton = null;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (singleton==null) {
singleton = new Singleton();
}
return singleton;
}
}
- 恶汉式
//单例模式-恶汉式
public class Singleton2 {
private static Singleton2 singleton2 = new Singleton2();
private Singleton2() {}
public static Singleton2 getInstance() {
return singleton2;
}
}
喜欢我就加个关注吧~
原文链接:https://www.cnblogs.com/chlinlearn/p/11272194.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash