欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单的单例,一句话概括“整个程序中只存在一个实例”

程序员文章站 2022-06-13 19:41:48
...

单例的学习

  1、单例是什么

        单例,顾名思义,就是一个实例的意思,这样的优势在于节约内存,减少没有必要的创建对象。

  2、单例的创建方式

       1、饿汉式(也不知道为啥起这名字):其实就是程序启动时就创建了对象,使用时直接可以使用,特点是项目启动慢,调用块,由于不需要再次创建对象,直接调用即可,所以线程安全

public class User {

    //初始化构造方法
    private void User(){};

    //项目启动就创建一个对象
    private static User user = new User();

    //开放一个对象的获取途径
    public static User getUser(){
        return user;
    }
}

          2、懒汉式:只有在第一次调用的时候,才会去创建对象,特点是项目启动块,调用慢,由于可能会多个线程同时创建对象,所以是线程不安全的,可以加锁来保证安全

public class User {

    //初始化构造方法
    private void User(){};

    //项目启动就创建一个对象
    private static User user;

    //开放一个对象的获取途径
    public static User getUser(){
        if(user == null){
            return user = new User();
        }
        return user;
    }
}