Singleton in Java
Singleton is design core java design pattern which allows a single instance of an object per application. why do we need singleton?
- To read the properties and make available for entire application
- To share same information along diff threads or parts of an application
//simplest Singleton class
public class MySingletonClass {
private static final MySingletonClass instance = new MySingletonClass();
private MySingletonClass(){}
public static MySingletonClass getInstance(){
return instance;
}
}
//improved singleton class
public class MySingletonClass {
private static final MySingletonClass instance = null;
private MySingletonClass(){}
public static MySingletonClass getInstance(){
if(instance == null){
instance = new MySingletonClass ();
}
return instance;
}
}
//improved thread-safe singleton class
public class MySingletonClass {
private static final MySingletonClass instance = null;
private MySingletonClass(){}
public static synchronized MySingletonClass getInstance(){
if(instance == null){
instance = new MySingletonClass ();
}
return instance;
}
}