DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Marcelo has posted 1 posts at DZone. View Full User Profile

Java Singleton Template For Eclipse

03.02.2007
| 14656 views |
  • submit to reddit
        This is a template for easily creating an implementation of the Singleton Pattern on Eclipse. Open Window->Preferences->Java->Editor->Templates click on New and insert the code below on the pattern text area; add a name (I suggest "singleton") - whenever you type this name and press Ctrl+Space the code will be inserted in your class - and you're good to go.

private static ${enclosing_type} instance;

private ${enclosing_type}(){}

public static ${enclosing_type} getInstance(){
	if(null == instance){
		instance = new ${enclosing_type}();
	}
	return instance;
}
    

Comments

Weei Jye Chay replied on Tue, 2007/02/13 - 10:39pm

best way i know of implementing a singleton: http://snippets.dzone.com/posts/show/3519 although, be careful of using singletons in clustered environments. try something cluster-aware caching mechanisms, like OSCache, instead.

Snippets Manager replied on Sun, 2007/02/11 - 5:06am

my previous comment got screwed and there is no way to delete it so sorry and here goes http://jroller.com/trackback/need2know/Weblog/race_condition_and_singleton_pattern

Snippets Manager replied on Sun, 2007/02/11 - 5:06am

Snippets Manager replied on Sun, 2007/02/11 - 5:06am

see here for brief intro to concurrent programming and how this code will create a race condition http://java.sun.com/developer/Books/performance2/chap3.pdf

Marc Stock replied on Fri, 2007/03/02 - 6:59pm

Unfortunately this isn't the correct way to code a singleton in Java. The object needs to be instantiated on the line it's defined. Your if check is just creating a race condition that will not guarantee you a single instance.