JAVA Interview Questions
|
Previous |
1 |
2 |
3 |
4 |
Next |
Sample JAVA Programs |
|
|
| 51. Does JVM maintain a
cache by itself? Does the JVM allocate objects in heap? Is this the OS heap or
the heap maintained by the JVM? Why |
| Yes, the JVM maintains a cache
by itself. It creates the Objects on the HEAP, but references to those objects
are on the STACK. |
| 52. What is phantom memory? |
| Phantom memory is false memory.
Memory that does not exist in reality. |
| 53. Can a method be
static and synchronized? |
A static method can be
synchronized. If you do so, the JVM will obtain a lock on the java.lang.
Class instance associated with the object. It is similar to saying:
synchronized(XYZ.class) {
}
|
| 54. What is difference
between String and StringTokenizer? |
A StringTokenizer is utility
class used to break up string.
Example:
StringTokenizer
st = new StringTokenizer(”Hello World”);
while
(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
Output:
Hello
World
|
| 55. Why
threads block or enters to waiting state on I/O? |
| Threads
enters to waiting state or block on I/O because other threads can execute while
the I/O operations are performed.
|
| 56. What
are transient variables in java? |
|
Transient variables are
variable that cannot be serialized.
|
| 57. How
Observer and Observable are used?
|
| Subclass of Observable class
maintain a list of observers. Whenever an Observable object is updated, it
invokes the update() method of each of its observers to notify the observers
that it has a changed state. An observer is any object that implements the
interface Observer.
|
| 58. What is Synchronization? |
| Synchronization is the ability
to control the access of multiple threads to shared resources. Synchronization
stops multithreading. With synchronization , at a time only one thread
will be able to access a shared resource.
|
| 59. What is List interface ?
|
|
List is
an ordered collection of objects.
|
| 60. What
is a Vector? |
| Vector is a
dynamic growable array of objects.
|
| 61. What
is the difference between yield() and sleep()? |
| When a object invokes yield()
it returns to ready state. But when an object invokes sleep() method enters to
not ready state. |
| 62. What
are Wrapper Classes ? |
| They are
wrappers to primitive data types. They allow us to access primitives as
objects.
|
| 63. Can we
call finalize() method ? |
| Yes.
Nobody will stop us to call any method , if it is accessible in our class. But a
garbage collector cannot call an object's finalize method if that object is
reachable.
|
| 64. What is the difference
between time slicing and preemptive scheduling ? |
| In preemptive scheduling,
highest priority task continues execution till it enters a not running state or
a higher priority task comes into existence. In time slicing, the task continues
its execution for a predefined period of time and reenters the pool of ready
tasks. |
| 65. What
is the initial state of a thread when it is created and started? |
|
The thread is
in ready state.
|
| 66. Can we declare an anonymous class as both extending a class and implementing an
interface? |
| No. An anonymous class can
extend a class or implement an interface, but it cannot be declared to do both.
|
| 67. What
are the differences between boolean & operator and &
operator. |
| When an expression containing
the & operator is evaluated, both operands are evaluated. And the &
operator is applied to the operand. When an expression containing &&
operator is evaluated, the first operand is evaluated. If the first operand
returns a value of true then only the second operand is evaluated otherwise the
second part will not get executed. && is also called short cut
and.
|
| 68. What
is the use of the finally block? |
| Finally is the block of code
that executes always. The code in finally block will execute even if an
exception is occurred. finally will not execute when the user calls System.exit().
|
| 69. What is an abstract method ? |
| An abstract method is a method
that don't have a body. It is declared with modifier abstract.
|
| 70. what is a the difference between System.err and System.out |
|
We can redirect System.out to
another file but we cannot redirect System.err stream.
|
| 71. What
are the differences between an abstract class and an interface? |
|
An abstract class can have
concrete method, which is not allowed in an interface. Abstract class can have
private or protected methods and variables and only public methods and variables
are allowed in interface. We can implement more than one interface , but we can
extend only one abstract class. Interfaces provides loose coupling where as
abstract class provides tight coupling.
|
| 72. What is the difference between synchronized block and synchronized method ? |
| Synchronized
blocks place locks for the specified block where as synchronized methods place
locks for the entire method.
|
| 73. How can you force garbage collection in java? |
|
You cannot force Garbage
Collection, but you can request for it by calling the method System.gc().
But it doesn't mean that Garbage Collection will start immediately. The garbage
collection is a low priority thread of JVM.
|
| 74. How can you call a constructor from another constructor ?
|
|
By
using this() reference.
|
| 75. How can you call the constructor of super class ? |
| By using
super() syntax.
|
| 76. What's the difference between normal methods and constructors? |
| Constructors must have the same
name of the class and can not have a return type. They are called only once,
while regular methods can be called whenever required. We cannot explicitly call
a constructor.
|
| 77. What is the use of packages in java ? |
| Packages are a way to organize
files in java when a project consists of more than one module. It helps in
resolving name conflicts when different modules have classes with the same
names. |
| 78. What
must be the order of catch blocks when catching more than one exception?
|
| The sub classes must come
first. Otherwise it will give a compile time error.
|
| 79.How can we call a method or variable of the super class from child class ? |
| We can use super.method() or
super.variable syntax for this purpose. |
| 80. If you
are overriding equals() method of a class, what other methods you might need to
override ? |
| hashCode |
| 81. How can you create your own exception ?
|
| Our class must extend either
Exception or its sub class.
|
| 82. What is serialization ? |
| Serialization is the process of
saving the state of an object.
|
| 83. What is de-serialization? |
| De-serialization is the process of restoring the state of an
object. |
| 84. What is externalizable ? |
| It is an interface that extends
Serializable. It is having two different methods writeExternal() and
readExternal. This interface allows us to customize the output.
properly. |
| 85. 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 also possible for
programs to create objects that are not subject to garbage collection. And there
is no guarantee that Garbage Collection thread will be executed. |
| 86. What is a native method? |
| native method is a method
that is implemented in a language other than java. |
| 87. What are different type of exceptions in Java? |
| There are two types of
exceptions in java. Checked exceptions and Unchecked exceptions. Any exception
that is is derived from Throwable and Exception is called checked exception
except RuntimeException and its sub classes. The compiler will check whether the exception is caught or not at compile time. We need to
catch the checked exception or declare in the throws clause. Any exception
that is derived from Error and RuntimeException is called unchecked exception.
We don't need to explicitly catch a unchecked exception. |
| 88. Can we catch an error in our java program ? |
| Yes. We can . We can catch
anything that is derived from Throwable. Since Error is a sub class of Throwable
we can catch an error also. |
| 89. What is thread priority? |
|
Thread Priority is an integer
value that identifies the relative order in which it should be executed with
respect to others. The thread priority values ranging from 1- 10 and the default
value is 5. But if a thread have higher priority doesn't means that it will
execute first. The thread scheduling depends on the OS.
|
| 90. How many times may an object's finalize() method be invoked by the garbage collector? |
| Only once. |
| 91. What is the difference between a continue statement and a break statement? |
| Break statement results in the
immediate termination of the statement to which it applies (switch, for, do, or
while). A continue statement is used to end the current loop iteration and
return control to the loop statement. |
| 92. What must a class do to implement an interface? |
| It must identify the interface
in its implements clause. Also it must provide definition for all the methods in
the interface otherwise it must be declared abstract. |
| 93. What isan abstract class? |
| An abstract class is an
incomplete class. It is declared with the modifier abstract. We cannot create
objects of the abstract class. It is used to specify a common behavioral
protocol for all its child classes. |
| 94. What is the difference between notify and notifyAll method ? |
| notify wakes up a single thread
that is waiting for object's monitor.
If any threads are waiting on this object, one of them is chosen to be awakened.
The choice is arbitrary and occurs at the discretion of the implementation.
notifyAll Wakes up all threads that are waiting on this object's monitor. A
thread waits on an object's monitor by calling one of the wait methods. |
| 95. What does wait method do ? |
| It causes current thread to
wait until either another thread invokes notify or notifyAll method of the
current object, or a specified amount of time has elapsed.
|
| 96. What are
the different states of a thread ? |
| The different thread states are ready,
running, waiting and dead. |
| 97. What is the difference between static and non static inner class ? |
| A non-static inner class can
have an object instances that are associated with instances of the class's outer
class. A static inner class can not have any object instances. |
| 498. What is
the difference between String and StringBuffer class ? |
| Strings are immutable
(constant), their values cannot be changed after they are created. StringBuffer
support mutable objects,their values can be changed. |
| 99. What is the difference between readers and streams? |
| Readers are character oriented where streams are
byte oriented. The readers are having full supportfor Unicode data.
|
| 100. What is constructor chaining ? |
| When a constructor of a class is executed it will automatically call the default constructor of the super class (if no explicit call to any of the super class constructor) till the root of the hierarchy.
|
|
Previous |
1 |
2 |
3 |
4 |
Next |
Sample JAVA Programs |
Back to Top |