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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/river472242652/article/details/79519031

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

package cn.riversky.create.singleton;

/**
 * 单例模式最优方法之一
 * 1构造函数私有化
 * 2静态私有内部类(具有静态单例的实例)
 * 3单例对象的公共方法
 * @author riversky E-mail:[email protected]
 * @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:[email protected]
 * @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());
    }
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/river472242652/article/details/79519031