From 41595084b6b384de31f33bddf3991f2c6ede4298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Mon, 24 Sep 2018 15:44:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A5=BF=E6=B1=89=E5=BC=8F=E5=8D=95=E4=BE=8B?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creational/singleton/HungrySingleton.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/top/fjy8018/designpattern/pattern/creational/singleton/HungrySingleton.java diff --git a/src/main/java/top/fjy8018/designpattern/pattern/creational/singleton/HungrySingleton.java b/src/main/java/top/fjy8018/designpattern/pattern/creational/singleton/HungrySingleton.java new file mode 100644 index 0000000..4c3f5f0 --- /dev/null +++ b/src/main/java/top/fjy8018/designpattern/pattern/creational/singleton/HungrySingleton.java @@ -0,0 +1,28 @@ +package top.fjy8018.designpattern.pattern.creational.singleton; + +/** + * 单例模式:饿汉式(类加载时初始化) + * 优点:写法简单,类加载时初始化,线程安全 + * 缺点:若类不被使用则会造成内存浪费 + * + * @author F嘉阳 + * @date 2018-09-24 15:38 + */ +public class HungrySingleton { + /** + * 类加载时初始化 + * 声明final(可选),只有在类加载时初始化才能声明为final,故懒汉式不能声明为final + */ + private static final HungrySingleton HUNGRYSINGLETON; + + static { + HUNGRYSINGLETON = new HungrySingleton(); + } + + private HungrySingleton() { + } + + public static HungrySingleton getInstance() { + return HUNGRYSINGLETON; + } +}