What is classloader
When Java application starts the program it does not load all the required files at once. Rather it loads class files when required.
Class loads is part of Jvm which loads when required.
  • Types of classloader
  • 1.bootstrap classloader
  • 2.extension class loader
  • 3.system class loader
  • 4.custom class loader.

How singleton design pattern can be created without creating private constructor
We can create it by using enum.
How to create your own immutable class
  • Declare all fields as final
  • Declare class as final. 
  • Don’t provide setter method for any variable. 
  • Perform cloning of objects in getter methods when getter returns object it should return copy.

What is clonable?
Clonable is an interface must be implemented if you plan to clone object. Clonable allows to create bitwise copy of object. clone performs shallow copy. It will copy only reference.
What is shallow and deep copy?

Shallow copy
       When we use default implementation of clone method. you use shallow copy of objects because object refers the same object.
If only primitive type like int char and immutable type like String are present then there is not much difference.

Deep copy
    
   Deep copy is expensive as it recursively copies data from object getting CLONED. it copies mutable objects which are part of object getting cloned.
What if I don’t to use closable but still want to make copy of objects
The alternative to clonable is copy constructor.

What happens if you don’t implement Clonable.
It will throw CloneNotSupportedException.

  • Diffrence between failfast and fail safe

failfast works on original collection and fail safe works on the copy of original collection.
fail fast throws exception fail safe won’tthrow exception.

  • CopyOnWriteArrayList significance

copy on writearraylist supports concurrency.
synchronized collection locks whole collection and concurrentcollection locks portion of collection.

  • Singleton vs Static class

  1. Singleton object stores in Heap but, static object stores in stack
  2. We can clone the object of Singleton but, we can not clone the static class object
  3. Singleton class follow the OOP(object oriented principles) but not static class
  4. we can implement interface with Singleton class but not with Static class.
  • Overriding Puzzle
class A
{
int a=10;
    void big(){
        
        System.out.println(“A”);
    }
}
class B extends A
{
int a=20;
    void big(){
        System.out.println(“B”);
        
    }
    

void childMethod()
    {
        System.out.println(“I only exist in child”);
        
    }
}
public class HelloWorld{
     public static void main(String []args){
        A b=(A)new B();
        b.big();
System.out.println(“Value of A”+b.a);
     }
}
Output: B
  • Case2: Newly added method can’t be called with reference of top class.

public class HelloWorld{

     public static void main(String []args){
        A b=(A)new B();
        b.

childMethod

();

     }
}
Output: 

HelloWorld.java:25: error: cannot find symbol                                                                                                                   

        b.childMethod();       
  • Case3:If same variable declared in parent as well as child class.And called using reference of 
  • Parent class.then always variables of parent class are refered .

public class HelloWorld{

     public static void main(String []args){
        A b=(A)new B();
        b.

a

();

     }
}
Output: Value of A10

  • Diffrence Between the Enumeration and iteration
Iterator more safe does not allow other thread to modify collection throws ConcurrentModificationException.
  • How Hashset maintains unique item 

Leave a Reply

Your email address will not be published. Required fields are marked *