单态模式也称单例( Singleton)模式,主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。这样做的目的就是节省资源。
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
使用Singleton.getInstance()可以访问单态类。
上面第二中形式是lazy initialization,也就是说第一次调用时初始Singleton,以
后就不用再生成了。
注意到lazy initialization形式中的synchronized,这个synchronized很重要,如果
没有synchronized,那么使用getInstance()是有可能得到多个Singleton实例。
分享到:
相关推荐
单态模式单态模式单态模式
单态模式的定义: Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在项目的很多地方都会用到它,比如说数据库的链接。 使用Singleton的好处还在于可以节省内存,因为它限制了实例...
单态模式单态模式单态模式
设计模式一点通之单态模式,设计模式是软件设计必须要了解的东西
设计模式一点通之单态模式 C++ 挺好的,都来下下
单态模式和工厂模式.ppt单态模式和工厂模式.ppt
在C#、Java里面常用单态模式,单态模式的好处就不必说了,可提高代码的运行效率....按现有网站上搜索资料写单态模式时,调试总是提示失败,因此自己动手写一个例子供广大mfc入门学习者参考。
Net单态模式的案例 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的
有利于学习和掌握单态模式,是我们学习的关键
单态模式的设计和应用--设计模式之Singleton(单态)
单态模式和简单工厂模式.doc
单态模式和简单工厂模式.pdf
对于编程的一定有用的.软件工程方向的 单态模式和简单工厂模式,看看就知道好不好了.好了来评论啊.
[浪曦原创]JAVA设计模式 第2讲 单态模式和简单工厂模式(jzkangta).rar
单态模式 马克-to-win Java视频 Singleton 单例模式
单态模式 马克-to-win java视频 Singleton 单例模式
单态模式 马克-to-win java视频 Singleton 单例模式
DataSource的单态模式(SingleTon)程序---马克-to-win java视频 数据源 单态模式 dataSource Singleton
主要介绍了Java设计模式之单态模式(Singleton模式)介绍,本文讲解了如何使用单例模式、使用单例模式注意事项等内容,需要的朋友可以参考下
设计模式是在大量的实践中总结和理论化之后优选 的代码结构、编程风格以及解决问题的思考方式。