What is the wait/notify mechanism?
This deals with concurrent programming. The wait() and notify() methods are designed to provide a mechanism to allow a thread to be block until a specific condition is met.
However, java.util.concurrent should be used instead of wait() and notify() to reduce complexity.
How can a collection object be sorted?
// Sort
Collections.sort(list);
// Sort case-insensitive
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
// SortReverse-order
Collections.sort(list, Collections.reverseOrder ());
// Reverse-order sort case-insensitive
Define local, member and a class variable.
Within a method variables declared are called “local” variables.
Variables declared in the class i.e not in any methods are “member” variables (global variables).
Variables declared in the class i.e not in any methods and are called as “static” are class variables.
Name the different identifier states of a Thread.
Different types of identifiers of a Thread are:
R – Running or runnable thread
S – Suspended thread
CW – Thread waiting on a condition variable
MW – Thread waiting on a monitor lock
MS – Thread suspended waiting on a monitor lock
Define Vector class? Differentiate the Vector and ArrayList.
Vector canbe said a legacy class which has been introduced to implement the List interface since Java 2 platform v1.2
Vector is always synchronized but ArrayList is not.
When Vector class is synchronized, if we will run in multithreading environment we’ve to use ArrayList with Collections.
Vector has a default size i.e 10 while arrayList has no default size.
ArraayList is not having any method returning Enumerations where as vector list is having.
Differentiate between Enumeration and Iterator interface
In java.util package the Enumeration and Iterator are available.
The Enumeration interface is replicated by the Iterator interface.
In preference to Enumeration new implementations should consider using Iterator .
The difference of Iterators from enumerations are:
- Enumeration has 2 methods namely hasMoreElements() & nextElement() where the Iterator contained three methods namely hasNext(), next(),remove().
- An optional remove operation is added in Iterator,and has shorter method names. We Use remove() to delete the objects but the Enumeration interface does not support this feature.
- The legacy classes use Enumeration interface .Vector.elements() & Hashtable.elements() method results Enumeration.
- All Java Collections Framework classes returns iterator. java.util.Collection.iterator() method returning an instance of Iterator.
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(list);
What are the two basic ways in which classes that can be run as threads may be defined
A thread class may be declared as a subclass of Thread, or it may implement the Runnable interface
How do servlets handle multiple simultaneous requests?
The server has multiple threads that are available to handle requests. When a request comes in, it is assigned to a thread, which calls a service method (for example: doGet(), doPost() and service()) of the servlet. For this reason, a single servlet object can have its service methods called by many threads at once.
What is deadlock
When two threads are waiting each other and can’t precede the program is said to be deadlock
What happens when a thread cannot acquire a lock on an object
If a thread attempts to execute a synchronized method or synchronized statement and is unable to acquire an object’s lock, it enters the waiting state until the lock becomes available
What is multithreading and what are the methods for inter-thread communication and what is the class in which these methods are defined?-
?– Multithreading is the mechanism in which more than one thread run independent of each other within the process. wait (), notify () and notifyAll() methods can be used for inter-thread communication and these methods are in Object class. wait() : When a thread executes a call to wait() method, it surrenders the object lock and enters into a waiting state. notify() or notifyAll() : To remove a thread from the waiting state, some other thread must make a call to notify() or notifyAll() method on the same object.
What is daemon thread and which method is used to create the daemon thread
Daemon thread is a low priority thread which runs intermittently in the back ground doing the garbage collection operation for the java runtime system. setDaemon method is used to create a daemon thread
What are the high-level thread states
The high-level thread states are ready, running, waiting, and dead.