class DatabaseConnection{
private DatabaseConnection(){
}
private static DatabaseConnection instance;
public static DatabaseConnection getInstance(){
if(null == instance)
{
instance = new DatabaseConnection();
}
return instance;
}
void connect(){
System.
out.
println("Database Connected Successfully"); }
}
public class Main{
public static void main
(String[] args
) {
DatabaseConnection db1 = DatabaseConnection.getInstance();
DatabaseConnection db2 = DatabaseConnection.getInstance();
db1.connect();
db2.connect();
if(db1==db2)
{
System.
out.
println("Both objects are the same instance"); }
else{
System.
out.
println("Get out!"); }
}
}
Y2xhc3MgRGF0YWJhc2VDb25uZWN0aW9uewogICAgcHJpdmF0ZSBEYXRhYmFzZUNvbm5lY3Rpb24oKXsKICAgIH0KICAgIHByaXZhdGUgc3RhdGljIERhdGFiYXNlQ29ubmVjdGlvbiBpbnN0YW5jZTsKICAgIHB1YmxpYyBzdGF0aWMgRGF0YWJhc2VDb25uZWN0aW9uIGdldEluc3RhbmNlKCl7CiAgICAgICAgaWYobnVsbCA9PSBpbnN0YW5jZSkKICAgICAgICB7CiAgICAgICAgICAgIGluc3RhbmNlID0gbmV3IERhdGFiYXNlQ29ubmVjdGlvbigpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICB9CiAgICB2b2lkIGNvbm5lY3QoKXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkRhdGFiYXNlIENvbm5lY3RlZCBTdWNjZXNzZnVsbHkiKTsKICAgIH0KfQoKcHVibGljIGNsYXNzIE1haW57CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIERhdGFiYXNlQ29ubmVjdGlvbiBkYjEgPSBEYXRhYmFzZUNvbm5lY3Rpb24uZ2V0SW5zdGFuY2UoKTsKICAgICAgICBEYXRhYmFzZUNvbm5lY3Rpb24gZGIyID0gRGF0YWJhc2VDb25uZWN0aW9uLmdldEluc3RhbmNlKCk7CiAgICAgICAgCiAgICAgICAgZGIxLmNvbm5lY3QoKTsKICAgICAgICBkYjIuY29ubmVjdCgpOwogICAgICAgIAogICAgICAgIGlmKGRiMT09ZGIyKQogICAgICAgIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJCb3RoIG9iamVjdHMgYXJlIHRoZSBzYW1lIGluc3RhbmNlIik7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiR2V0IG91dCEiKTsKICAgICAgICB9CiAgICB9Cn0=