Is it necessary that each try block must
be followed by a catch block?
It is not necessary that each try block must be followed by a catch
block. It should be followed by either a catch block OR a finally block.
And whatever exceptions are likely to be thrown should be declared in
the throws clause of the method.
If I write return at the end of the try block, will the finally block
Yes even if you write return as the last statement in the try block and
no exception occurs, the finally block will execute. The finally block
will execute and then the control return.
If I write System.exit (0); at the end of the try block, will the
finally block still execute?
No in this case the finally block will not execute because when you say
System.exit (0); the control immediately goes out of the program, and
thus finally never executes.
How are Observer and Observable used?
Objects that subclass the Observable class maintain a list of observers.
When an Observable object is updated it invokes the update() method of
each of its observers to notify the observers that it has changed state.
The Observer interface is implemented by objects that observe Observable
What is synchronization and why is it important?
With respect to multithreading, synchronization is the capability to
control the access of multiple threads to shared resources. Without
synchronization, it is possible for one thread to modify a shared object
while another thread is in the process of using or updating that
object's value. This often leads to significant errors.
How does Java handle integer overflows and underflows?
It uses those low order bytes of the result that can fit into the size
of the type allowed by the operation.
Does garbage collection guarantee that a program will not run out of
Garbage collection does not guarantee that a program will not run out of
memory. It is possible for programs to use up memory resources faster
than they are garbage collected. It is also possible for programs to
create objects that are not subject to garbage collection .
What is the difference between preemptive scheduling and time slicing?
Under preemptive scheduling, the highest priority task executes until it
enters the waiting or dead states or a higher priority task comes into
existence. Under time slicing, a task executes for a predefined slice of
time and then reenters the pool of ready tasks. The scheduler then
determines which task should execute next, based on priority and other
When a thread is created and started, what is its initial state?
A thread is in the ready state after it has been created and started.
What is the purpose of finalization?
The purpose of finalization is to give an unreachable object the
opportunity to perform any cleanup processing before the object is
What is the Locale class?
The Locale class is used to tailor program output to the conventions of
a particular geographic, political, or cultural region.
What is the difference between a while statement and a do statement?
A while statement checks at the beginning of a loop to see whether the
next loop iteration should occur. A do statement checks at the end of a
loop to see whether the next iteration of a loop should occur. The do
statement will always execute the body of a loop at least once.
What is the difference between static and non-static variables?
A static variable is associated with the class as a whole rather than
with specific instances of a class. Non-static variables take on unique
values with each object instance.
How are this() and super() used with constructors?
This() is used to invoke a constructor of the same class. super() is
used to invoke a superclass constructor.
What are synchronized methods and synchronized statements?
Synchronized methods are methods that are used to control access to an
object. A thread only executes a synchronized method after it has
acquired the lock for the method's object or class. Synchronized
statements are similar to synchronized methods. A synchronized statement
can only be executed after a thread has acquired the lock for the object
or class referenced in the synchronized statement.
What is daemon thread and which method is used to create the daemon
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.
Page Numbers :