码迷,mamicode.com
首页 > 编程语言 > 详细

Java单例模式

时间:2017-07-22 00:46:37      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:就会   博客   单例模式   私有化   加载   加载类   方便   ret   获取   

由于经常用笔记本上网,还是在博客里备份一下自己的学习成果比较好,复习起来也很方便。

从今天开始把自己会的知识总结在博客里。

以下为单例模式里的两种方法的代码:饿汉模式和懒汉模式。

/**
 * 单例模式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单例模式

标签:就会   博客   单例模式   私有化   加载   加载类   方便   ret   获取   

原文地址:http://www.cnblogs.com/qinscraft/p/7220092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!