1.
What
is a transient variable?
A transient variable is a variable that may
not be serialized.
2.
Which
containers use a border Layout as their default layout?
The Window, Frame and Dialog classes use a
border layout as their default layout.
3.
Why
do threads block on I/O?
Threads block on I/O (that is enters the
waiting state) so that other threads may execute while the I/O Operation is
performed.
4.
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.
5.
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.
6.
Can
a lock be acquired on a class?
Yes, a lock can be acquired on a class. This
lock is acquired on the class's Class object..
7.
What's
new with the stop(), suspend() and resume() methods in JDK 1.2?
The stop(), suspend() and resume() methods have
been deprecated in JDK 1.2.
8.
Is
null a keyword?
The null is not a keyword.
9.
What
is the preferred size of a component?
The preferred size of a component is the
minimum component size that will allow the component to display normally.
10.
What
method is used to specify a container's layout?
The setLayout() method is used to specify a container's
layout.
11.
Which
containers use a FlowLayout as their default layout?
The Panel and Applet classes use
the FlowLayout as their default layout.
12.
What
state does a thread enter when it terminates its processing?
When a thread terminates its processing, it
enters the dead state.
13.
What
is the Collections API?
The Collections API is a set of classes and
interfaces that support operations on collections of objects.
14.
Which
characters may be used as the second character of an identifier, but not as the
first character of an identifier?
The digits 0 through 9 may not be used as the
first character of an identifier but they may be used after the first character
of an identifier.
15.
What
is the List interface?
The List interface provides support for ordered
collections of objects.
16.
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.
17.
What
is the Vector class?
The Vector class provides the capability to
implement a growable array of objects
18.
What
modifiers may be used with an inner class that is a member of an outer class?
A (non-local) inner class may be declared
as public, protected, private, static, final, or abstract.
·
What is an Iterator
interface?
The Iterator interface is used to step through the
elements of a Collection.
·
What is the difference
between the >> and >>> operators?
The >> operator carries the sign bit when
shifting right. The >>> zero-fills bits that have been shifted
out.
·
Which method of the
Component class is used to set the position and size of a component?
setBounds() method is used to set the position and
size of a component.
·
What is the difference
between yielding and sleeping?
When a task invokes its yield() method, it returns to the ready state.
When a task invokes its sleep() method, it returns to the waiting state.
·
Which java.util
classes and interfaces support event handling?
The EventObject class and the EventListener interface
support event processing.
·
Is sizeof a keyword?
The sizeof operator is not a keyword.
25.
What
are wrapped classes?
Wrapped classes are classes that allow
primitive types to be accessed as objects.
26.
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.
27.
What
restrictions are placed on the location of a package statement within a source
code file?
A package statement must appear as the first
line in a source code file (excluding blank lines and comments).
28.
Can
an object's finalize() method be invoked while it is reachable?
An object's finalize() method cannot be
invoked by the garbage collector while the object is still reachable. However,
an object's finalize() method may be invoked by other objects.
29.
What
is the immediate superclass of the Applet class?
Panel.
30.
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.
31.
Name
three Component subclasses that support painting.
The Canvas, Frame, Panel, and Applet classes support painting.
32.
What
value does readLine() return when it has reached the end of a file?
The readLine() method returns null when it has
reached the end of a file.
33.
What
is the immediate superclass of the Dialog class?
Window.
34.
What
is clipping?
Clipping is the process of confining paint
operations to a limited area or shape.
35.
What
is a native method?
A native method is a method that is
implemented in a language other than Java.
36.
Can
a for statement loop indefinitely?
Yes, a for statement
can loop indefinitely. For example, consider the following:
for(;;) ;
37.
What
are order of precedence and associativity, and how are they used?
Order of precedence
determines the order in which operators are evaluated in expressions.
Associatity determines whether an expression
is evaluated left-to-right or right-to-left.
38.
When
a thread blocks on I/O, what state does it enter?
A thread enters the waiting state when it
blocks on I/O.
39.
To
what value is a variable of the String type automatically initialized?
The default value of an String type is null.
40.
What
is the catch or declare rule for method declarations?
If a checked exception may be thrown within
the body of a method, the method must either catch the exception or declare it
in its throws clause.
41.
What
is the difference between a MenuItem and a CheckboxMenuItem?
The CheckboxMenuItem class extends the MenuItem class to support
a menu item that may be checked or unchecked.
42.
What
is a task's priority and how is it used in scheduling?
A task's priority is an integer value that
identifies the relative order in which it should be executed with respect to
other tasks. The scheduler attempts to schedule higher priority tasks before
lower priority tasks.
·
What class is the top
of the AWT event hierarchy?
The java.awt.AWTEvent class is the highest-level class in the
AWT event-class hierarchy.
·
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.
·
Can an anonymous class
be declared as implementing an interface and extending a class?
An anonymous class may implement an interface or extend a
superclass, but may not be declared to do both.
·
What is the immediate
superclass of Menu?
MenuItem.
·
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.
·
Which class is the
immediate superclass of the MenuComponent class?
Object.
49.
What
invokes a thread's run() method?
After a thread is started, via its start() method or that
of the Thread class, the JVM invokes the
thread's run() method when the thread is initially
executed.
50.
What
is the difference between the Boolean & operator and the &&
operator?
If an expression
involving the Boolean & operator is evaluated, both operands are
evaluated. Then the & operator is applied to the operand. When
an expression involving the && operator is evaluated, the first operand
is evaluated.
If the first operand returns a value of true
then the second operand is evaluated. The && operator is then
applied to the first and second operands. If the first operand evaluates to
false, the evaluation of the second operand is skipped.
51.
Name
three subclasses of the Component class.
Box.Filler, Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, or TextComponent.
52.
What
is the GregorianCalendar class?
The GregorianCalendar class provides support for traditional
Western calendars.
53.
Which
Container method is used to cause a container to be laid out and redisplayed?
validate() method is used to
cause a container to be laid out and redisplayed.
54.
What
is the purpose of the Runtime class?
The purpose of the Runtime class is to
provide access to the Java runtime system.
55.
How
many times may an object's finalize() method be invoked by the garbage collector?
An object's finalize() method may only
be invoked once by the garbage collector.
56.
What
is the purpose of the finally clause of a try-catch-finally statement?
The finally clause is used to provide the
capability to execute code no matter whether or not an exception is thrown or
caught.
57.
What
is the argument type of a program's main() method?
A program's main() method takes an
argument of the String[] type.
58.
Which
Java operator is right associative?
The = operator is right associative.
59.
Can
a double value be cast to a byte?
Yes, a double value can be
cast to a byte.
60.
What
must a class do to implement an interface?
It must provide all of the methods in the
interface and identify the interface in its implements clause.
61.
What
method is invoked to cause an object to begin executing as a separate thread?
The start() method of the Thread class
is invoked to cause an object to begin executing as a separate thread.
62.
Name
two subclasses of the TextComponent class.
TextField and TextArea.
63.
Which
containers may have a MenuBar?
Frame.
64.
How
are commas used in the intialization and iteration parts of a for statement?
Commas are used to separate multiple
statements within the initialization and iteration parts of a for statement.
65.
What
is the purpose of the wait(), notify(), and notifyAll() methods?
The wait(), notify(), and notifyAll() methods are used to provide an efficient
way for threads to wait for a shared resource. When a thread executes an
object's wait() method, it enters the waiting state. It
only enters the ready state after another thread invokes the object's notify() or notifyAll() methods..
66.
What
is an abstract method?
An abstract method is a method whose
implementation is deferred to a subclass.
67.
How
are Java source code files named?
A Java source code
file takes the name of a public class or interface that is defined within the
file. A source code file may contain at most one public class or interface. If
a public class or interface is defined within a source code file, then the source
code file must take the name of the public class or interface.
If no public class or interface is defined
within a source code file, then the file must take on a name that is different
than its classes and interfaces. Source code files use the .java extension.
68.
What
is the relationship between the Canvas class and the Graphics class?
A Canvas object provides access to a Graphics
object via its paint() method.
69.
What
are the high-level thread states?
The high-level thread states are ready,
running, waiting, and dead.
70.
What
value does read() return when it has reached the end of a file?
The read() method returns -1 when it has
reached the end of a file.
71.
Can
a Byte object be cast to a double value?
No. An object cannot be cast to a primitive
value.
72.
What
is the difference between a static and a non-static inner class?
A non-static inner
class may have object instances that are associated with instances of the
class's outer class.
A static inner class does not have any object
instances.
·
What is the difference
between a constructor and a method?
A constructor is a member function of a class
that is used to create objects of that class. It has the same name as the class
itself, has no return type, and is invoked using the new operator.
A method is an ordinary member function of a class. It has its
own name, a return type (which may be void), and is invoked using the dot
operator.
·
What is the purpose of
garbage collection in Java, and when is it used?
The purpose of garbage collection is to identify
and discard objects that are no longer needed by a program so that their
resources can be reclaimed and reused.
A Java object is subject to garbage collection when it becomes
unreachable to the program in which it is used.
·
Describe synchronization
in respect to multithreading.
With respect to multithreading,
synchronization is the capability to control the access of multiple threads to
shared resources.
Without synchonization, it is possible for one thread to modify
a shared variable while another thread is in the process of using or updating
same shared variable. This usually leads to significant errors.
·
What is an abstract
class?
Abstract class must be extended/subclassed (to
be useful). It serves as a template. A class that is abstract may not be
instantiated (ie. you may not call its constructor), abstract class may contain
static data.
Any class with an abstract method is automatically abstract
itself, and must be declared as such. A class may be declared abstract even if
it has no abstract methods. This prevents it from being instantiated.
·
What is the difference
between an Interface and an Abstract class?
An abstract class can have instance methods
that implement a default behavior. An Interface can only declare constants and
instance methods, but cannot implement default behavior and all methods are
implicitly abstract.
An interface has all public members and no implementation. An
abstract class is a class which may have the usual flavors of class members (private, protected, etc.), but has some abstract methods.
·
Explain different way
of using thread?
The thread could be implemented by using runnable interface or
by inheriting from the Thread class. The former is more advantageous,
'cause when you are going for multiple inheritance, the only interface can
help.
7.
What
is an Iterator?
Some of the collection
classes provide traversal of their contents via a java.util.Iterator interface. This interface allows you to walk through a
collection of objects, operating on each object in turn.
Remember when using Iterators that they
contain a snapshot of the collection at the time the Iterator was obtained;
generally it is not advisable to modify the collection itself while traversing
an Iterator.
8.
State
the significance of public, private, protected, default modifiers both singly
and in combination and state the effect of package relationships on declared
items qualified by these modifiers.
public: Public class is visible in other packages,
field is visible everywhere (class must be public too)
private : Private variables or methods may be used
only by an instance of the same class that declares the variable or method, A
private feature may only be accessed by the class that owns the feature.
protected : Is available to all classes in the same
package and also available to all subclasses of the class that owns the
protected feature. This access is provided even to subclasses that reside in a
different package from the class that owns the protected feature.
What you get by default ie, without any access
modifier (ie, public private or protected). It means that it is visible to all
within a particular package.
9.
What
is static in java?
Static means one per
class, not one for each object no matter how many instance of a class might
exist. This means that you can use them without creating an instance of a
class.Static methods are implicitly final, because overriding is done based on
the type of the object, and static methods are attached to a class, not an
object.
A static method in a superclass can be shadowed
by another static method in a subclass, as long as the original method was not
declared final. However, you can't override a static method with a nonstatic
method. In other words, you can't change a static method into an instance
method in a subclass.
10.
What
is final class?
A final class can't be extended ie., final class
may not be subclassed. A final method can't be overridden when its class is
inherited. You can't change value of a final variable (is a constant).
11.
What
if the main() method is declared as private?
The program compiles properly but at runtime
it will give "main() method not public." message.
12.
What
if the static modifier is removed from the signature of the main() method?
Program compiles. But at runtime throws an
error "NoSuchMethodError".
·
What if I write static
public void instead of public static void?
Program compiles and runs properly.
·
What if I do not
provide the String array as the argument to the method?
Program compiles but throws a runtime error
"NoSuchMethodError".
·
What is the first
argument of the String array in main() method?
The String array is empty. It does not have any element. This is
unlike C/C++ where the first element by default is the program name.
·
If I do not provide
any arguments on the command line, then the String array of main() method will
be empty or null?
It is empty. But not null.
·
How can one prove that
the array is not null but empty using one line of code?
Print args.length. It will print 0. That means it is empty. But
if it would have been null then it would have thrown a NullPointerException on attempting to print args.length.
·
What environment
variables do I need to set on my machine in order to be able to run Java
programs?
CLASSPATH and PATH are the two
variables.
19.
Can
an application have multiple classes having main() method?
Yes it is possible.
While starting the application we mention the class name to be run. The JVM
will look for the Main method only in the class whose name you have mentioned.
Hence there is not conflict amongst the
multiple classes having main() method.
20.
Can
I have multiple main() methods in the same class?
No the program fails to compile. The compiler
says that the main() method is already defined in the class.
21.
Do
I need to import java.lang package any time? Why ?
No. It is by default loaded internally by the
JVM.
22.
Can
I import same package/class twice? Will the JVM load the package twice at
runtime?
One can import the same package or same class
multiple times. Neither compiler nor JVM complains about it. And the JVM will
internally load the class only once no matter how many times you import the
same class.
23.
What
are Checked and UnChecked Exception?
A checked exception is
some subclass of Exception (or Exception itself), excluding class
RuntimeException and its subclasses. Making an exception checked forces client
programmers to deal with the possibility that the exception will be thrown.
Example: IOException thrown
by java.io.FileInputStream's read() method·
Unchecked exceptions
are RuntimeException and any of its subclasses. Class Error and its subclasses
also are unchecked. With an unchecked exception, however, the compiler doesn't
force client programmers either to catch the exception or declare it in a throws
clause. In fact, client programmers may not even know that the exception could
be thrown.
Example: StringIndexOutOfBoundsException thrown by String's charAt() method· Checked
exceptions must be caught at compile time. Runtime exceptions do not need to be.
Errors often cannot be.
24.
What
is Overriding?
When a class defines a
method using the same name, return type, and arguments as a method in its
superclass, the method in the class overrides the method in the superclass.
When the method is invoked for an object of
the class, it is the new definition of the method that is called, and not the
method definition from superclass. Methods may be overridden to be more public,
not more private.
25.
Are
the imports checked for validity at compile time? Example: will the code
containing an import such as java.lang.ABCD compile?
Yes the imports are
checked for the semantic validity at compile time. The code containing above
line of import will not compile. It will throw an error saying, can not resolve
symbol
symbol : class ABCD
location: package io
import java.io.ABCD;
26.
Does
importing a package imports the subpackages as well? Example: Does importing
com.MyTest.* also import com.MyTest.UnitTests.*?
No you will have to import the subpackages
explicitly. Importing com.MyTest.* will import classes in the package MyTest only. It will
not import any class in any of it's subpackage.
27.
What
is the difference between declaring a variable and defining a variable?
In declaration we just
mention the type of the variable and it's name. We do not initialize it. But
defining means declaration + initialization.
Example: String s; is just a
declaration while String s = new String
("abcd"); Or String s = "abcd"; are both definitions.
28.
What
is the default value of an object reference declared as an instance variable?
The default value will be null unless we define
it explicitly.
29.
Can
a top level class be private or protected?
No. A top level class
cannot be private or protected. It can have either "public" or no
modifier. If it does not have a modifier it is supposed to have a default
access.
If a top level class is declared as private
the compiler will complain that the "modifier private is not allowed
here". This means that a top level class can not be private. Same is the
case with protected.
30.
What
type of parameter passing does Java support?
In Java the arguments are always passed by
value.
Comments
Post a Comment