Using relevant properties highlight the differences between interfaces and abstract classes. How would you differentiate between a String, StringBuffer, and a StringBuilder? Apart from the security aspect, what are the reasons behind making strings immutable in Java? What part of memory - Stack or Heap - is cleaned in garbage collection process? What is the main objective of garbage collection? Do final, finally and finalize keywords have the same function? Explain the use of final keyword in variable, method and class. A single try block and multiple catch blocks can co-exist in a Java Program. Comment on method overloading and overriding by citing relevant examples. Briefly explain the concept of constructor overloading How is an infinite loop declared in Java? Can you tell the difference between equals() method and equality operator (=) in Java? What do you understand by an instance variable and a local variable? Why is Java not a pure object oriented language? Why is Java a platform independent language?