java中单例设计模式
2012-12-14 08:54
148 查看
单例设计模式:
它的出现为了可以保证一个类在内存中的对象唯一性。对于多个程序使用同一个配置信息对象时,必须要保证该对象的唯一性
单例设计的思想
1、不允许其他程序用new创建该类对象。
2、在该类中创建一个本类实例。
3、对外提供一个方法让其他程序可以获取该类对象
步骤:
1、私有化该类的构造函数
2、通过new在本类中创建一个本类对象。
3、在对外提供一个方法让其他程序可以获取该类对象。
单例设计模式一般有两种常用
饿汉式:一般用于开发
懒汉式:
懒汉式比饿汉式更省内存,因为不需要在一开始就创建对象,减少了内存的使用。
饿汉式无需关注多线程问题,因为一加载类就已经存在一个默认的静态对象,在多线程问题中不用关注同步锁问题,
而懒汉式由于是在方法中创建对象,那么在多线程当中就要加入synchronized同步锁,防止同时多个线程同时创建一个对象,
这是在java当中是不允许的。
它的出现为了可以保证一个类在内存中的对象唯一性。对于多个程序使用同一个配置信息对象时,必须要保证该对象的唯一性
单例设计的思想
1、不允许其他程序用new创建该类对象。
2、在该类中创建一个本类实例。
3、对外提供一个方法让其他程序可以获取该类对象
步骤:
1、私有化该类的构造函数
2、通过new在本类中创建一个本类对象。
3、在对外提供一个方法让其他程序可以获取该类对象。
单例设计模式一般有两种常用
饿汉式:一般用于开发
class Single//类一加载对象就已经存在了。 { private static Single s=new Single(); private Single(){} public static Single getInstance() { return s; } }
懒汉式:
class Single2//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。 //延迟加载形式 { private static Single2 s=null; private Single2(){} public static Single2 getInstance() { if (s==null) { s=new Single2(); return s; } } }
懒汉式比饿汉式更省内存,因为不需要在一开始就创建对象,减少了内存的使用。
饿汉式无需关注多线程问题,因为一加载类就已经存在一个默认的静态对象,在多线程问题中不用关注同步锁问题,
而懒汉式由于是在方法中创建对象,那么在多线程当中就要加入synchronized同步锁,防止同时多个线程同时创建一个对象,
这是在java当中是不允许的。
相关文章推荐
- Java中单例设计模式之最佳实践举例
- Java设计模式中单一职责原则(SRP)介绍
- java中单例设计模式,基本思想和目的。
- Java中单例设计模式之最佳实践举例
- java中单例设计模式
- Java中单例设计模式总结
- java中单例设计模式分析
- java中单例设计模式
- java中单例设计模式的两种实现方式
- Java中单态设计模式
- java中单例设计模式的两种方法
- 图解java中单例设计模式的两种形式
- java设计模式--模板(Template)模式--03
- Java设计模式-25-迪米特法则
- JAVA中设计模式之 -- 单例模式
- java 设计模式之原型模式Prototype
- 粗略。。Java项目设计模式之笔记----studying
- java设计模式(八)——外观模式
- Java关于23种设计模式的有趣见解(转贴)
- Java设计模式--------中介者模式