单例模式是Java中比较常见的一种设计模式,,他的写法有很多,到那时主要是饿汉式和懒汉式
单例模式主要特点:
单例模式的构造方法是私有的,他只有一个实例
单例类的只能自己创建自己的唯一实例
单例的实例只能通过他写的静态私有方法访问
/**
* Created by jcx on 2017/10/2
* 饿汉式单例模式
*/
public class Singleton {
private Singleton() {}
private static final Singleton singleton = new Singleton();
public static Singleton singleton(){
return singleton;
}
}
懒汉式单例的实现没有考虑线程安全问题,它是线程不安全的
/**
* Created byj cx on 2017/10/2.
* 懒汉式单例模式
*/
public class SingleDemo {
private static SingleDemo singleDemo = null;
private SingleDemo() {}
public static SingleDemo getSingleDemo(){
if(singleDemo == null){
singleDemo = new SingleDemo();
}
return singleDemo;
}
}
饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的