Beginning with JDK 5, enumerations were added to the Java language, and they are now an integral and widely used part of Java. In their simplest form, Java enumerations appear similar to enumerations in other languages. However in Java, an enumeration defines a class type. By making enumerations into classes, the capabilities of the enumeration are greatly expanded. For example, in Java, an enumeration can have constructors, methods, and instance variables.
Singleton pattern is one of the commonly used design solution. It describes a technique for ensuring that only a single instance of a class is ever created. In essence, the technique takes the following approach: don’t let anyone outside the class create instances of the class.
Singletons often control access to resources such as database connections or sockets. For example, if you have a license for only one connection for your database or your JDBC driver has trouble with multithreading, the Singleton makes sure that only one connection is made or that only one thread can access the connection at a time. If you add database connections or use a JDBC driver that allows multithreading, the Singleton can be easily adjusted to allow more connections.
There are many ways to achieve singleton in java, let us implement all possible approaches with common mistakes with solutions.
Posted in Tutorials
Tagged break, class, common, core, deserialition safe, deserialization, deserialize, design, design pattern, Eager, enum, Example, Examples, getDefaultInstance, github, Initialization, instance, Java, java design pattern, java source code, java tutorial, lazy, Linux, mistakes, multithreading, object, Object restriction, pattern, private constructor, program, readResolve, reflection, reflection safe, relfection, Sample code, samples, serializable, serialize, simple, singleton, source code, standard, thread safe, Toolkit, tutorial, violation, Windows