What one should take care of while
serializing the object?
One should
make sure that all the included objects are also serializable.
If any of the objects is not serializable then it
throws a NotSerializableException.
What happens to the static fields of a class
during serialization?
There are
three exceptions in which serialization doesnot
necessarily read and write to the stream. These are
1. Serialization ignores static fields, because they are not part of ay particular
state state.
2. Base class fields are only hendled if the base
class itself is serializable.
3. Transient fields.
Does Java provide any construct to find out
the size of an object?
No there is
not sizeof operator in Java. So there is not direct
way to determine the size of an object directly in Java.
Give a simplest way to find out the time a
method takes for execution without using any profiling tool?
Read the
system time just before the method is invoked and immediately after method
returns. Take the time difference, which will give you the time taken by a
method for execution.
Snapshot of the code...
long start = System.currentTimeMillis
();
method ();
long end = System.currentTimeMillis ();
System.out.println ("Time taken for execution is " + (end - start));
Remember
that if the time taken for execution is too small, it might show that it is
taking zero milliseconds for execution. Try it on a method which is big enough,
in the sense the one which is doing considerable amout
of processing.
What are wrapper classes?
Java
provides specialized classes corresponding to each of the primitive data types.
These are called wrapper classes. They are e.g. Integer, Character, Double etc.
Why do we need wrapper classes?
It is
sometimes easier to deal with primitives as objects. Moreover most of the
collection classes store objects and not primitive data types. And also the
wrapper classes provide many utility methods also. Because of these resons we need wrapper classes. And since we create
instances of these classes we can store them in any of the collection classes
and pass them around as a collection. Also we can pass them around as method
parameters where a method expects an object.
What are checked exceptions?
Checked exception are those which the Java compiler forces you to
catch. e.g. IOException are
checked Exceptions.
What are runtime exceptions?
Runtime
exceptions are those exceptions that are thrown at runtime because of either
wrong input data or because of wrong business logic etc. These are not checked
by the compiler at compile time.
What is the difference between error and an
exception?
An error is
an irrecoverable condition occurring at runtime. Such as OutOfMemory error. These JVM errors and you can not
repair them at runtime. While exceptions are conditions that occur because of
bad input etc. e.g. FileNotFoundException will be
thrown if the specified file does not exist. Or a NullPointerException
will take place if you try using a null reference. In most of the cases it is
possible to recover from an exception (probably by giving user a feedback for
entering proper values etc.).
How to create custom exceptions?
Your class
should extend class Exception, or some more specific type thereof.
If I want an object of my class to be thrown
as an exception object, what should I do?
The class
should extend from Exception class. Or you can extend your class from some more
precise exception type also.
If my class already extends from some other
class what should I do if I want an instance of my class to be thrown as an
exception object?
One can not
do anytihng in this scenarion.
Because Java does not allow multiple inheritance and does not
provide any exception interface as well.
How does an exception permeate through the
code?
An unhandled
exception moves up the method stack in search of a matching When an exception
is thrown from a code which is wrapped in a try block followed by one or more
catch blocks, a search is made for matching catch block. If a matching type is
found then that block will be invoked. If a matching type is not found then the
exception moves up the method stack and reaches the caller method. Same
procedure is repeated if the caller method is included in a try catch block.
This process continues until a catch block handling the appropriate type of
exception is found. If it does not find such a block then finally the program
terminates.
No comments:
Post a Comment