单例模式

来源:互联网 发布:淘宝假冒扣分 编辑:程序博客网 时间:2024/05/19 15:22

       Java中的单例模式是指类在内存中只有一个对象,分为恶汉单例模式和懒汉单例模式。开发中,一般使用恶汉单例模式,不容易出现问题,因为类一加载就创建对象;面试中,一般使用懒汉单例模式,用的时候再去创建对象。懒汉单例模式容易出现线程安全问题,所以要加synchronized避免线程安全问题的出现。代码如下:

       恶汉单例模式

public class Student{

//为了不让外界直接访问、修改这个值,加private修饰

//静态方法只能访问静态的成员变量 所以加static修饰

private static Student s = new Student();

//私有化构造方法是为了防止别人实例化Student类

private Student(){ }

//使用静态是为了方便直接用类名调用这个方法

public static Student getStudent(){

return s; //返回已经造好的对象

}

}

        懒汉单例模式

public class Student{

private static Student s = null;

private Student(){ } //私有化构造方法是为了防止别人实例化Student类

//加synchronized修饰是为了避免线程安全问题的出现

public synchronized static Student getStudent(){

if(s==null){

s = new Student();

}

return s;

}

}


//第一次写编程日志,加油!微笑

0 0