Java / Design Patterns
Difference between Singleton Pattern and static Class in Java.
Singleton pattern gives you an Object, while later just provide static methods.
Static class provides better performance than Singleton pattern, because static methods are bonded on compile time.
Static methods cannot be overridden while we can override methods defined in a Singleton class by extending it.
Singleton classes can be lazy loaded, but static class does not have such advantages and always eagerly loaded.
If you need to maintain state than Singleton pattern is better choice than static class as it requires additional synchronization mechanism.
With Singleton, you can use Inheritance and Polymorphism to extend a base class, implement an interface and capable of providing different implementations.
singleton can be serialized to preserve its state.
More Related questions...