File tree Expand file tree Collapse file tree
src/main/java/cn/byhieg/designpatterntutorial/singleton Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,4 +23,6 @@ public static DCLSingleton getSingleton(){
2323 return singleton ;
2424 }
2525
26+
27+
2628}
Original file line number Diff line number Diff line change 1+ package cn .byhieg .designpatterntutorial .singleton ;
2+
3+ /**
4+ * Created by shiqifeng on 2017/3/14.
5+ * Mail byhieg@gmail.com
6+ */
7+ public enum EnumSingleton {
8+ SINGLETON ;
9+
10+
11+ public void doSometings (){
12+
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ package cn .byhieg .designpatterntutorial .singleton ;
2+
3+ /**
4+ * Created by shiqifeng on 2017/3/14.
5+ * Mail byhieg@gmail.com
6+ */
7+ public class HungrySingleton {
8+ private static final HungrySingleton singleton = new HungrySingleton ();
9+
10+ private HungrySingleton (){
11+
12+ }
13+
14+ // public static HungrySingleton getSingleton(){
15+ // return singleton;
16+ // }
17+ }
Original file line number Diff line number Diff line change 11package cn .byhieg .designpatterntutorial .singleton ;
22
3+ import java .io .Serializable ;
4+
35/**
46 * 该类线程不安全,是延迟加载的懒汉模式
57 * Created by shiqifeng on 2017/3/14.
68 * Mail byhieg@gmail.com
79 */
8- public class SimpleSingleton {
10+ public class SimpleSingleton implements Serializable {
911
1012 private static SimpleSingleton simpleSingleton ;
1113
@@ -19,4 +21,6 @@ public static SimpleSingleton getInstance(){
1921 }
2022 return simpleSingleton ;
2123 }
24+
25+
2226}
Original file line number Diff line number Diff line change 1+ package cn .byhieg .designpatterntutorial .singleton ;
2+
3+ /**
4+ * Created by shiqifeng on 2017/3/14.
5+ * Mail byhieg@gmail.com
6+ */
7+ public class StaticSingleton {
8+
9+ private StaticSingleton (){
10+ }
11+
12+
13+ public static final StaticSingleton getInstance (){
14+ return Holder .singleton ;
15+ }
16+
17+ private static class Holder {
18+ private static final StaticSingleton singleton = new StaticSingleton ();
19+ }
20+ }
You can’t perform that action at this time.
0 commit comments