Singleton is a simple object-oriented design pattern where a class only gets to have one single instance at any given time while providing a global point of access.


Here is how you create a singleton:

    class SampleSingleton{
    	private static SampleSingleton instance;
    	private SampleSingleton(){
    		// initiate components
    	// This is the global access point
    	public synchronized SampleSingleton getInstance(){
    		if(instance == null){
    			instance = new SampleSingleton();
    		return instance;
    	public void foreverAlone(){
    		// ...

After doing this all you need to do is:


Using singleton is especially useful when handling single resources such as loggers, configurations etc.