What are the different ways to handle
exceptions?
There are
two ways to handle exceptions,
1. By wrapping the desired code in a try block followed by a
catch block to catch the exceptions. and
2. List the desired exceptions in the throws clause of the method and let the
caller of the method hadle those exceptions.
What is the basic difference between the 2
approaches to exception handling.
>> try catch block
and
>> specifying the candidate exceptions in the
throws clause?
When
should you use which approach?
In the first
approach as a programmer of the method, you urself
are dealing with the exception. This is fine if you are in a best position to
decide should be done in case of an exception. Whereas if it is not the
responsibility of the method to deal with it's own
exceptions, then do not use this approach. In this case use the second
approach. In the second approach we are forcing the caller of the method to
catch the exceptions, that the method is likely to
throw. This is often the approach library creators
use. They list the exception in the throws clause and we must catch them. You
will find the same approach throughout the java libraries we use.
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 still execute?
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 objects.
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 objects.
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 memory?
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 factors.
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 garbage collected.
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.
No comments:
Post a Comment