BELOW IS THE NETBEAN SOURCE CODE OF A SINGLETON PROJECT. Run the code in Netbeans and provide screenshots to verify that it runs successfully. Draw a UML Class diagram to model the program. /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/package singletontest; /**** @author lucky*/public class SingletonTest { /*** @param args the command line arguments*/public static void main(String[] args) {for(int i=0;i<5;i++){ Singleton.getInstance();//here we can check how many instance created using below line of statemnt in loop System.out.println("singletontest.SingletonTest.main()"+Singleton.getInstance());}} } // Double Checked Locking based Java implementation of// singleton design patternclass Singleton{ //create private instance of class for data hidingprivate volatile static Singleton obj;//private consttuctorprivate Singleton() {}//we create static method to call by class name not requird objet of this classpublic static Singleton getInstance(){ // if condition true on first time object creation after it created objecct will return onlyif (obj == null) {// To make thread safesynchronized (Singleton.class){// check again as multiple threads// can reach above stepif (obj==null)obj = new Singleton();}}return obj;}}
BELOW IS THE NETBEAN SOURCE CODE OF A SINGLETON PROJECT.
Run the code in Netbeans and provide screenshots to verify that it runs successfully.
Draw a UML Class diagram to model the program.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package singletontest;
/**
*
* @author lucky
*/
public class SingletonTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
for(int i=0;i<5;i++){
Singleton.getInstance();
//here we can check how many instance created using below line of statemnt in loop
System.out.println("singletontest.SingletonTest.main()"+Singleton.getInstance());
}
}
}
// Double Checked Locking based Java implementation of
// singleton design pattern
class Singleton
{ //create private instance of class for data hiding
private volatile static Singleton obj;
//private consttuctor
private Singleton() {}
//we create static method to call by class name not requird objet of this class
public static Singleton getInstance()
{ // if condition true on first time object creation after it created objecct will return only
if (obj == null)
{
// To make thread safe
synchronized (Singleton.class)
{
// check again as multiple threads
// can reach above step
if (obj==null)
obj = new Singleton();
}
}
return obj;
}
}
Step by step
Solved in 3 steps with 4 images