题2 实现单例模式

来源:互联网 发布:数据读写测试用例 编辑:程序博客网 时间:2024/05/17 20:33

单例模式:一个类有且仅有一个实例,并且自行实例化向整个系统提供。


饿汉式: 
饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。

//饿汉式public class Singleton {//构造函数为privateprivate Singleton(){}//有一个 private static final的变量,在类初始化时实例化private static final Singleton instance = new Singleton();//通过public static 的方法获得变量引用public static Singleton getInstance(){return instance;}}


懒汉式:

懒汉式在第一次调用时实例化。

//懒汉式class Singleton2{//构造函数为privateprivate Singleton2(){}//初始化为null,没有finalprivate static Singleton2 instance = null;//调用时实例化,synchronized确保线程安全public static synchronized Singleton2 getInstance(){if(instance == null){instance = new Singleton2();}return instance;}}

原创粉丝点击