permaculture playing cards
The moose likes OO, Patterns, UML and Refactoring and the fly likes Singleton vs static methods Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Singleton vs static methods" Watch "Singleton vs static methods" New topic

Singleton vs static methods

john sal
Ranch Hand

Joined: Jul 30, 2010
Posts: 93

I would like to know about pros n cons of Singleton and class with static methods and where to use what?

Also, What I could find is, Singleton should be used where we want to have some state associated, but with static methods too, we can have static variables to keep the state as with singleton also only one instance is involved?

Madhan Sundararajan Devaki
Ranch Hand

Joined: Mar 18, 2011
Posts: 312

Singleton pattern ensures that others get hold of a single instance of an entity.

Static pattern, though is maintained as a single copy in JVM, could result in concurrency issues (when used in replication/fault-tolerant scenarios), if data members are also accessible or they manipulate external resources (such as files, databases etc...).

Not many get the right opportunity !
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17410

In terms of practical experience - as opposed to theory - I've usually regretted using static methods. Sooner or later, I tend to end up with a situation where the bean in question needs to maintain state and the state isn't global. It's fairly easy to convert singletons to non-singleton objects, but converting static stateless to non-singleton stateful objects can be a right royal pain.

An IDE is no substitute for an Intelligent Developer.
I agree. Here's the link:
subject: Singleton vs static methods
jQuery in Action, 3rd edition