JAVA BASICS 4
71. Can an unreachable object become reachable again?
An unreachable object may become reachable again. This can
happen when the
object's finalize() method is invoked and the object
performs an operation which causes it to
become accessible to reachable objects.
72. What method must be implemented by all threads?
All tasks must implement the run() method, whether they are
a subclass of Thread or implement the
Runnable interface.
73. 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.
74. What is Externalizable?
Externalizable is an Interface that extends Serializable
Interface. And sends data into Streams in
Compressed Format. It has two methods,
writeExternal(ObjectOuput
out) and readExternal(ObjectInput in).
75. What modifiers are allowed for methods in an Interface?
Only public and abstract modifiers are allowed for methods
in interfaces.
76. What are some alternatives to inheritance?
Delegation is an alternative to inheritance.
Delegation means that you include an instance of another
class as an instance variable, and forward
messages to the instance. It is often safer than inheritance
because it forces you to think about each
message you forward, because the instance is of a known
class, rather than a new class, and because
it doesn't force you to accept all the methods of the super
class: you can provide only the methods
that really make sense. On the other hand, it makes you write
more code, and it is harder to re-use
(because it is not a subclass).
77. What does it mean that a method or field is
"static"?
Static variables and methods are instantiated only once per
class. In other words they are class
variables, not instance variables. If you change the value
of a static variable in a particular object, the
value of that variable changes for all instances of that
class.
Static methods can be referenced with the name of the class
rather than the name of a particular
object of the class (though that works too). That's how
library methods
like System.out.println() work out is a static field in the
java.lang.System class.
78. 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.
79. 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.
80. Is Empty .java file a valid source file?
Yes. An empty .java file is a perfectly valid source file.
81. Can a .java file contain more than one java classes?
Yes. A .java file contain more than one java classes,
provided at the most one of them is a public
class.
82. Is String a primitive data type in Java?
No. String is not a primitive data type in Java, even though
it is one of the most extensively used
object. Strings in Java are instances of String class
defined in java.lang package.
83. Is main a keyword in Java?
No. main is not a keyword in Java.
84. Is next a keyword in Java?
No. next is not a keyword.
85. Is delete a keyword in Java?
No. delete is not a keyword in Java. Java does not make use
of explicit destructors the way C++
does.
86. Is exit a keyword in Java?
No. To exit a program explicitly you use exit method in
System object.
87. What happens if you dont initialize an instance variable
of any of the primitive types in
Java?
Java by default initializes it to the default value for that
primitive type. Thus an int will be initialized
to 0(zero), a boolean will be initialized to false.
88. What will be the initial value of an object reference
which is defined as an instance
variable?
The object references are all initialized to null in Java.
However in order to do anything useful with
these references, you must set them to a valid object, else
you will
get NullPointerExceptions everywhere you try to use such
default initialized references.
89. What are the different scopes for Java variables?
The scope of a Java variable is determined by the context in
which the variable is declared. Thus a
java variable can have one of the three scopes at any given
point in time.
1. Instance : - These are typical object level variables,
they are initialized to default values at the time
of creation of object, and remain accessible as long as the
object accessible.
2. Local : - These are the variables that are defined within
a method. They remain accessbile only
during the course of method excecution. When the method
finishes execution, these variables fall out
of scope.
3. Static: - These are the class level variables. They are
initialized when the class is loaded in JVM for
the first time and remain there as long as the class remains
loaded. They are not tied to any particular
object instance.
90. What is the default value of the local variables?
The local variables are not initialized to any default
value, neither primitives nor object references. If
you try to use these variables without initializing them
explicitly, the java compiler will not compile the
code. It will complain abt the local varaible not being
initilized.
No comments:
Post a Comment