You can create an abstract class that
contains only abstract methods. On the other hand, you can create an
interface that declares the same methods. So can you use abstract
classes instead of interfaces?
Sometimes. But your class may be a descendent of another class and in
this case the interface is your only option.
What comes to mind when someone mentions a shallow copy in Java?
If you're overriding the method equals() of an object, which other
method you might also consider?
You are planning to do an indexed search in a list of objects. Which of
the two Java collections should you use: ArrayList or LinkedList?
How would you make a copy of an entire Java object with its state?
Have this class implement Cloneable interface and call its method
How can you minimize the need of garbage collection and make the memory
use more effective?
Use object pooling and weak object references.
There are two classes: A and B. The class B need to inform a class A
when some important event has happened. What Java technique would you
use to implement it?
If these classes are threads I'd consider notify() or notifyAll(). For
regular classes you can use the Observer interface.
What access level do you need to specify in the class declaration to
ensure that only classes from the same directory can access it?
You do not need to specify any access level, and Java will use a default
package access level.
What is the difference between an Interface and an Abstract class?
An abstract class can have instance methods that implement a default
behavior. An Interface can only declare constants and instance methods,
but cannot implement default behavior and all methods are implicitly
abstract. An interface has all public members and no implementation. An
abstract class is a class which may have the usual flavors of class
members (private, protected, etc.), but has some abstract methods.
What is the purpose of garbage collection in Java, and when is it used?
The purpose of garbage collection is to identify and discard objects
that are no longer needed by a program so that their resources can be
reclaimed and reused. A Java object is subject to garbage collection
when it becomes unreachable to the program in which it is used.
Describe synchronization in respect to multithreading.
With respect to multithreading, synchronization is the capability to
control the access of multiple threads to shared resources. Without
synchonization, it is possible for one thread to modify a shared
variable while another thread is in the process of using or updating
same shared variable. This usually leads to significant errors.
Explain different way of using thread?
The thread could be implemented by using runnable interface or by
inheriting from the Thread class. The former is more advantageous,
'cause when you are going for multiple inheritance..the only interface
What are pass by reference and passby value?
Pass By Reference means the passing the address itself rather than
passing the value. Passby Value means passing a copy of the value to be
What is HashMap and Map?
Map is Interface and Hashmap is class that implements that.
Difference between HashMap and HashTable?
The HashMap class is roughly equivalent to Hashtable, except that it is
unsynchronized and permits nulls. (HashMap allows null values as key and
value whereas Hashtable doesnt allow). HashMap does not guarantee that
the order of the map will remain constant over time. HashMap is
unsynchronized and Hashtable is synchronized.
Difference between Vector and ArrayList?
Vector is synchronized whereas arraylist is not.
Page Numbers :