diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 849c269b2902b3e6dc94522ebfed10e3fe176a2c..ec344f90ad918c0cdaf8a26d8aadbba79000a57a 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,7 +3,6 @@ - @@ -107,11 +107,11 @@ + - @@ -153,6 +153,7 @@ + 1634096220780 diff --git a/out/production/patterns/com/pattern/SingletonPattern/SingleMain.class b/out/production/patterns/com/pattern/SingletonPattern/SingleMain.class index 6abc01b7eb7065c1e5d58738f3248d3583162186..ccc055eab04ea01454ccea3c4ea0921e7f05fa32 100644 Binary files a/out/production/patterns/com/pattern/SingletonPattern/SingleMain.class and b/out/production/patterns/com/pattern/SingletonPattern/SingleMain.class differ diff --git a/out/production/patterns/com/pattern/SingletonPattern/examples/README.md b/out/production/patterns/com/pattern/SingletonPattern/examples/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/out/production/patterns/com/pattern/SingletonPattern/materials/HungrySingleObject.class b/out/production/patterns/com/pattern/SingletonPattern/materials/HungrySingleObject.class new file mode 100644 index 0000000000000000000000000000000000000000..68f00aa9ebdf797de58eef01031cb3027fb94485 Binary files /dev/null and b/out/production/patterns/com/pattern/SingletonPattern/materials/HungrySingleObject.class differ diff --git a/out/production/patterns/com/pattern/SingletonPattern/materials/LazySingleObject.class b/out/production/patterns/com/pattern/SingletonPattern/materials/LazySingleObject.class new file mode 100644 index 0000000000000000000000000000000000000000..ca9dd2cd8594e6e4dfa7974e55d078d9d8cbb3cd Binary files /dev/null and b/out/production/patterns/com/pattern/SingletonPattern/materials/LazySingleObject.class differ diff --git a/out/production/patterns/com/pattern/SingletonPattern/materials/README.md b/out/production/patterns/com/pattern/SingletonPattern/materials/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/out/production/patterns/com/pattern/SingletonPattern/materials/SingleObject.class b/out/production/patterns/com/pattern/SingletonPattern/materials/SingleObject.class deleted file mode 100644 index f97b91a3477f2b183cbe8d264896ca26dd9b2d2c..0000000000000000000000000000000000000000 Binary files a/out/production/patterns/com/pattern/SingletonPattern/materials/SingleObject.class and /dev/null differ diff --git a/src/com/pattern/SingletonPattern/SingleMain.java b/src/com/pattern/SingletonPattern/SingleMain.java index 3745e415b39b06ffbf155dfe612c304d3b379978..19a027abe3cfc974e3d08d244a5f29fc23505b21 100644 --- a/src/com/pattern/SingletonPattern/SingleMain.java +++ b/src/com/pattern/SingletonPattern/SingleMain.java @@ -1,8 +1,11 @@ package com.pattern.SingletonPattern; import com.pattern.SingletonPattern.materials.HungrySingleObject; +import com.pattern.SingletonPattern.materials.LazySingleObject; /** + * 单例模式 + * * @author lx * @date 2021/10/13 16:55 **/ @@ -10,6 +13,11 @@ public class SingleMain { public void main() { - System.err.println(HungrySingleObject.getInstance().getName()); + System.err.println("饿了:" + HungrySingleObject.getInstance().getName()); + + System.err.println("累了:" + LazySingleObject.getInstance().getName()); + + System.err.println("喝某某特饮!"); } + } diff --git a/src/com/pattern/SingletonPattern/materials/HungrySingleObject.java b/src/com/pattern/SingletonPattern/materials/HungrySingleObject.java index 7dba20feb0645b9cebe63114c15864b05c102af0..4f4dd43ccca212c3d15a97926bea04071b82e598 100644 --- a/src/com/pattern/SingletonPattern/materials/HungrySingleObject.java +++ b/src/com/pattern/SingletonPattern/materials/HungrySingleObject.java @@ -18,6 +18,6 @@ public class HungrySingleObject { } public String getName() { - return "SingleObject"; + return "HungrySingleObject"; } } diff --git a/src/com/pattern/SingletonPattern/materials/LazySingleObject.java b/src/com/pattern/SingletonPattern/materials/LazySingleObject.java new file mode 100644 index 0000000000000000000000000000000000000000..2e438bd579d2e0fe265969bc9795bb1b7b336b08 --- /dev/null +++ b/src/com/pattern/SingletonPattern/materials/LazySingleObject.java @@ -0,0 +1,26 @@ +package com.pattern.SingletonPattern.materials; + +/** + * 懒汉式 : 什么时候要了,我先去找找,没有就去制作 + * + * @author lx + * @date 2021/10/13 16:50 + **/ +public class LazySingleObject { + + private static LazySingleObject SINGLE_OBJECT; + + private LazySingleObject() { + } + + public static LazySingleObject getInstance() { + if (SINGLE_OBJECT == null) { + return SINGLE_OBJECT = new LazySingleObject(); + } + return SINGLE_OBJECT; + } + + public String getName() { + return "LazySingleObject"; + } +}