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

剑指offer笔记--2基础知识--单例模式

程序员文章站 2022-03-14 21:17:58
...

这里使用java进行最优的直接写法,其实关于单例模式最基本的就是懒汉式和饿汉式,其中饿汉式是一种最简单但是比较占内存的一种方式。懒汉式是一种需要多重考虑多线程的一种方式。但是java最大的特点是可以使用静态内部类的方式获取单例,借助两方面的优势。

package cn.riversky.create.singleton;

/**
 * 单例模式最优方法之一
 * 1构造函数私有化
 * 2静态私有内部类(具有静态单例的实例)
 * 3单例对象的公共方法
 * @author riversky E-mail:aaa@qq.com
 * @version 创建时间 : 2018/3/11.
 */
public class Person {
    private String name;
    private String sex;
    private static class PersonHolder{
        private final static Person instance=new Person("习大大","男");
    }
    public static Person getInstance(){
        return PersonHolder.instance;
    }
    private Person(String name, String sex) {
        this.name = name;
        this.sex = sex;
    }
    private Person() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

测试

package cn.riversky.create.singleton;

/**
 * @author riversky E-mail:aaa@qq.com
 * @version 创建时间 : 2018/3/11.
 */
public class Client {
    public static void main(String[] args) {
        System.out.println(Person.getInstance());
        System.out.println(Person.getInstance());
        System.out.println(Person.getInstance());
    }
}

剑指offer笔记--2基础知识--单例模式