Home Javatutorials J2EE Singleton Pattern - Design Pattern Tutorials

Related Tutorials


 
 

Share on Google+Share on Google+

J2EE Singleton Pattern - Design Pattern Tutorials

Advertisement
J2EE singleton pattern

J2EE Singleton Pattern

Singleton Design Pattern

This design pattern governs the object instantiation of Object in Java. This design pattern is used when only one instance of object is required. The Constructor in a Singleton class is private and a public static method is used to get the Object of the Singleton class.

Consider a simple Singleton class.

public class SimpleSingletonClaz {
	private static SimpleSingletonClaz singletonObject = new SimpleSingletonClaz();

	// private constructor of a Singleton Class
	private SimpleSingletonClaz() {

	}
	// Get Singleton class Object
	public static SimpleSingletonClaz getSingletonInstance() {
		return singletonObject;
	}
}

In the above code you can see that, there is a private static object of that class and singleton class have a private constructor which restricts the direct instantiation of an object. To get the object of that class, a static method is created, this return the singleton object.

In the above case the when the class is loaded the instance of the class is loaded, it is no loaded on demand and not following the Lazy Loading Idiom. So we can change the code slightly different as

package singleton;

public class SimpleSingletonClaz {
	private static SimpleSingletonClaz singletonObject = null;

	// private constructor of a Singleton Class
	private SimpleSingletonClaz() {

	}

	// Get Singleton class Object
	public static SimpleSingletonClaz getSingletonInstance() {
		
		// Checking whether the instance is created or not
		if (singletonObject == null) {
			singletonObject = new SimpleSingletonClaz();
		}
		return singletonObject;
	}
}

The singleton design pattern is used with the conjunction with the factory method patterns to create a system wide resource.

Read more..

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: April 18, 2011

Related Tutorials

Discuss: J2EE Singleton Pattern - Design Pattern Tutorials  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
str7
October 9, 2011
WTF

I really don't understand how the hell is this related to J2EE, but the biggest problem is not that. The second (lazy loading) solution in a multi-threaded environment is totally wrong!
DMCA.com