diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 7157530..e88dc9f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,7 +1,12 @@ - + + + + + + @@ -32,8 +37,18 @@ - - + + + + + + + + + + + + @@ -48,6 +63,9 @@ + + + @@ -553,6 +573,7 @@ + @@ -562,9 +583,9 @@ - + - + @@ -601,10 +622,18 @@ + + + + + + + + - - + + diff --git a/out/production/classes/singletondesignpattern/App.class b/out/production/classes/singletondesignpattern/App.class index 8da2944..3aca24a 100644 Binary files a/out/production/classes/singletondesignpattern/App.class and b/out/production/classes/singletondesignpattern/App.class differ diff --git a/out/production/classes/singletondesignpattern/SingletonLazyInit.class b/out/production/classes/singletondesignpattern/SingletonLazyInit.class new file mode 100644 index 0000000..04a7dcd Binary files /dev/null and b/out/production/classes/singletondesignpattern/SingletonLazyInit.class differ diff --git a/src/main/java/singletondesignpattern/App.java b/src/main/java/singletondesignpattern/App.java index 9ddaa24..935747a 100644 --- a/src/main/java/singletondesignpattern/App.java +++ b/src/main/java/singletondesignpattern/App.java @@ -8,5 +8,11 @@ public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); System.out.println(singleton.hashCode()==singleton1.hashCode()); + + SingletonLazyInit singletonLazyInit = SingletonLazyInit.getInstance(); + SingletonLazyInit singletonLazyInit1 = SingletonLazyInit.getInstance(); + + System.out.println(singletonLazyInit==singletonLazyInit1); + } } diff --git a/src/main/java/singletondesignpattern/SingletonLazyInit.java b/src/main/java/singletondesignpattern/SingletonLazyInit.java new file mode 100644 index 0000000..72cc59d --- /dev/null +++ b/src/main/java/singletondesignpattern/SingletonLazyInit.java @@ -0,0 +1,20 @@ +package singletondesignpattern; + +public class SingletonLazyInit { + + private static SingletonLazyInit singletonLazyInit; + + + private SingletonLazyInit() { + + } + + public static SingletonLazyInit getInstance(){ + + if(singletonLazyInit==null){ + + singletonLazyInit = new SingletonLazyInit(); + } + return singletonLazyInit; + } +}