Singleton Pattern
- Only one instance is created
- Lazily loaded
Design
- Static in nature
- Thread safe
- Private instance
- Private constructor
Simple Singleton
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return singleton;
}
}
Lazy Load
public class Singleton {
private static Singleton singleton = null;
private Singleton(){
}
public static Singleton getInstance(){
if(singleton == null){
singleton = new Singleton();
}
return singleton;
}
}
+ Thread Safe
public static Singleton getInstance() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
Comentarios
Publicar un comentario