首页 > 代码库 > Java单例模式
Java单例模式
由于经常用笔记本上网,还是在博客里备份一下自己的学习成果比较好,复习起来也很方便。
从今天开始把自己会的知识总结在博客里。
以下为单例模式里的两种方法的代码:饿汉模式和懒汉模式。
/** * 单例模式Singleton * 应用场合:有些对象只需要一个就够了,如老婆。。。 * 作用:保证整个应用程序中某个实例有且只有一个 * 类型:饿汉模式、懒汉模式 * 本类为饿汉模式,类加载时就会创建好实例,与调用与否无关 */ public class Singleton { //1、将构造方法私有化,不允许外部直接创建实例化,否则可以new无数个对象 private Singleton(){ } //2、创建类的唯一实例,由于第3步必须static,所以instance实例也必须是static private static Singleton instance = new Singleton(); //3、提供一个用于获取实例的方法,必须static外部才能用类名调用这个方法! public static Singleton getInstance(){ return instance; } }
/** * 懒汉模式 * 区别: * 饿汉模式加载类比较慢,但运行时获取对象的速度比较快,而且线程安全; * 懒汉模式则相反,而且线程不安全 */ public class Singleton2 { //1、将构造方法私有化,不允许外部直接创建实例化,否则可以new无数个对象 private Singleton2(){ } //2、只声明类的唯一实例,由于第3步必须static,所以instance实例也必须是static private static Singleton2 instance; //3、提供一个用于获取实例的方法,必须static外部才能用类名调用这个方法! public static Singleton2 getInstance(){ //判断是否为空 if(instance==null){ instance=new Singleton2(); return instance; } return null; } }
Java单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。