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...).