Java Viva Ques.
Java Viva Ques.
A:2 Java runs on a variety of platforms, such as Windows, Mac OS, and the various versions
of UNIX/Linux like HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, CentOS, etc.
A:3 It’s compiler generates an architecture-neutral object file format, which makes the
compiled code to be executable on many processors, with the presence of Java runtime
system.
A:4 It is designed to adapt to an evolving environment. Java programs can carry extensive
amount of run-time information that can be used to verify and resolve accesses to objects on
run-time.
Q:5 What is Java Virtual Machine and how it is considered in context of Java’s
platform independent feature?
A:5 When Java is compiled, it is not compiled into platform specific machine, rather into
platform independent byte code. This byte code is distributed over the web and interpreted by
virtual Machine (JVM) on whichever platform it is being run.
A:8 Object is a runtime entity and it’s state is stored in fields and behavior is shown via
methods. Methods operate on an object's internal state and serve as the primary mechanism
for object-to-object communication.
A:9 A class is a blue print from which individual objects are created. A class can contain
fields and methods to describe the behavior of an object.
A:10 A class consist of Local variable, instance variables and class variables.
A:12 Variables defined inside methods, constructors or blocks are called local variables. The
variable will be declared and initialized within the method and it will be destroyed when the
method has completed.
A:13 Instance variables are variables within a class but outside any method. These variables
are instantiated when the class is loaded.
A:14 These are variables declared with in a class, outside any method, with the static
keyword.
A:15 Constructor gets invoked when a new object is created. Every class has a constructor.
If we do not explicitly write a constructor for a class the java compiler builds a default
constructor for that class.
Q:16 List the three steps for creating an Object for a class?
Q:18 What is the default value of float and double datatype in Java?
A:19 Default value of float and double datatype in different as compared to C/C++. For float
its 0.0f and for double it’s 0.0d
A:20 This data type is used to save space in large arrays, mainly in place of integers, since a
byte is four times smaller than an int.
A:21 Class variables also known as static variables are declared with the static keyword in a
class, but outside a method, constructor or a block.
A:22 Java provides access modifiers to set access levels for classes, variables, methods and
constructors. A member has package or default accessibility when no accessibility modifier is
specified.
A:23 Variables, methods and constructors which are declared protected in a superclass can
be accessed only by the subclasses in other package or any class within the package of the
protected members' class.
Q:25 Variables used in a switch statement can be used with which datatypes?
A:25 Variables used in a switch statement can only be a byte, short, int, or char.
A:26 This method is used to get the primitive data type of a certain String.
A:27 The String class is immutable, so that once it is created a String object cannot be
changed. Since String is immutable it can safely be shared between many threads ,which is
considered very important for multithreaded programming.
A:28 The String class is considered as immutable, so that once it is created a String object
cannot be changed. If there is a necessity to make alot of modifications to Strings of
characters then StringBuffer should be used.
A: Use StringBuilder whenever possible because it is faster than StringBuffer. But, if thread
safety is necessary then use StringBuffer objects.
Q:30 Which package is used for pattern matching with regular expressions?
A:31 It is possible to define a method that will be called just before an object's final
destruction by the garbage collector. This method is called finalize( ), and it can be used to
ensure that an object terminates cleanly.
A:33 It is an exception that is typically a user error or a problem that cannot be foreseen by
the programmer. For example, if a file is to be opened, but the file cannot be found, an
exception occurs. These exceptions cannot simply be ignored at the time of compilation.
A:34 It is an exception that occurs that probably could have been avoided by the
programmer. As opposed to checked exceptions, runtime exceptions are ignored at the time
of compliation.
A: The Exception class has two main subclasses : IOException class and RuntimeException
Class.
A:36 If a method does not handle a checked exception, the method must declare it using the
throwskeyword. The throws keyword appears at the end of a method's signature.
A:37 An exception can be thrown, either a newly instantiated one or an exception that you
just caught, by using throw keyword.
A:38 The finally keyword is used to create a block of code that follows a try block. A finally
block of code always executes, whether or not an exception has occurred.
Q:39 What things should be kept in mind while creating your own exceptions in Java?
A:40 It is the process where one object acquires the properties of another. With the use of
inheritance the information is made manageable in a hierarchical order.
A:41 If the method overrides one of its superclass's methods, overridden method can be
invoked through the use of the keyword super. It can be also used to refer to a hidden field
A:42 Polymorphism is the ability of an object to take on many forms. The most common use
of polymorphism in OOP occurs when a parent class reference is used to refer to a child class
object.
A:43 It refers to the ability to make a class abstract in OOP. It helps to reduce the complexity
and also improves the maintainability of the system.
A:44 These classes cannot be instantiated and are either partially implemented or not at all
implemented. This class contains one or more abstract methods which are simply method
declarations without a body.
A:46 It is the technique of making the fields in a class private and providing access to the
fields via public methods. If a field is declared private, it cannot be accessed by anyone
outside the class, thereby hiding the fields within the class. Therefore encapsulation is also
referred to as data hiding.
A:47 The main benefit of encapsulation is the ability to modify our implemented code
without breaking the code of others who use our code. With this Encapsulation gives
maintainability, flexibility and extensibility to our code.
A:49 It includes:
A:52 A multithreaded program contains two or more parts that can run concurrently. Each
part of such a program is called a thread, and each thread defines a separate path of
execution.
Q:53 What are the two ways in which Thread can be created?
A:53 Thread can be created by: implementing Runnable interface, extending the Thread
class.
A:54 An applet is a Java program that runs in a Web browser. An applet can be a fully
functional Java application because it has the entire Java API at its disposal.
A:56 It uses garbage collection to free the memory. By cleaning those objects that is no
longer reference by any of the program.
A:58 It is used with variables or methods and used to call constructer of same class.
A:60 It is used to sort collections and arrays of objects using the collections.sort() and
java.utils. The objects of the class implementing the Comparable interface can be ordered.
A:61 It includes:
A:63 Java Runtime Environment is an implementation of the Java Virtual Machine which
executes Java programs. It provides the minimum requirements for executing a Java
application;
A:65 This is Web Archive File and used to store XML, java classes, and JavaServer pages.
which is used to distribute a collection of JavaServer Pages, Java Servlets, Java classes, XML
files, static Web pages etc.
Q:67 What is the difference between object oriented programming language and object
based programming language?
A:67 Object based programming languages follow all the features of OOPs except
Inheritance. JavaScript is an example of object based programming languages
A:68 The java compiler creates a default constructor only if there is no constructor in the
class.
A:70 It is used to initialize the static data member, It is excuted before main method at the
time of classloading.
A:71 If a class has multiple functions by same name but different parameters, it is known as
Method Overloading.
Q:72 What is function overriding?
A:73 Method overloading increases the readability of the program. Method overriding
provides the specific implementation of the method that is already provided by its super class
parameter must be different in case of overloading, parameter must be same in case of
overriding.
A:74 Final classes are created so the methods implemented by that class cannot be
overridden. It can’t be inherited.
A:75 A NullPointerException is thrown when calling the instance method of a null object,
accessing or modifying the field of a null object etc.
Q:76 What are the ways in which a thread can enter the waiting state?
A: A thread can enter the waiting state by invoking its sleep() method, by blocking on IO, by
unsuccessfully attempting to acquire an object's lock, or by invoking an object's wait()
method. It can also enter the waiting state by invoking its (deprecated) suspend() method.
Q:77 How does multi-threading take place on a computer with a single CPU?
A:77 The operating system's task scheduler allocates execution time to multiple tasks. By
quickly switching between executing tasks, it creates the impression that tasks execute
sequentially.
A:78 After a thread is started, via its start() method of the Thread class, the JVM invokes the
thread's run() method when the thread is initially executed.
Q:79 Does it matter in what order catch statements for FileNotFoundException and
IOException are written?
A:80 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.
A:81 The Vector class provides the capability to implement a growable array of objects.
Vector proves to be very useful if you don't know the size of the array in advance, or you just
need one that can change sizes over the lifetime of a program.
Q:82 How many bits are used to represent Unicode, ASCII, UTF-16, and UTF-8
characters?
A:82 Unicode requires 16 bits and ASCII require 7 bits. Although the ASCII character set
uses only 7 bits, it is usually represented as 8 bits. UTF-8 represents characters using 8, 16,
and 18 bit patterns. UTF-16 uses 16-bit and larger bit patterns.
A:83 These are classes that allow primitive types to be accessed as objects. Example:
Integer, Character, Double, Boolean etc.
A:84 The Frame class extends Window to define a main application window that can have a
menu bar.
A:85 javax.Swing package. All components in Swing, except JApplet, JDialog, JFrame and
JWindow are lightweight components.
Q:86 What is the difference between the paint() and repaint() methods?
A:86 The paint() method supports painting via a Graphics object. The repaint() method is
used to cause paint() to be invoked by the AWT painting thread.
A:87 It is used to create objects that provide access to the files and directories of a local file
system.
Q:88 What is the difference between the Reader/Writer class hierarchy and the
InputStream/OutputStream class hierarchy?
Q:89 Which class should you use to obtain design information about an object?
A:89 The Class class is used to obtain information about an object's design and
java.lang.Class class instance represent classes, interfaces in a running Java application.
A:90 A static variable is associated with the class as a whole rather than with specific
instances of a class. Non-static variables take on unique values with each object instance.
A:91 Serialization is the process of writing the state of an object to a byte stream.
Deserialization is the process of restoring these objects.
A:92 It is part of the analysis of a program and describes a situation that a program might
encounter and what behavior the program should exhibit in that circumstance.
A: 94 If there is a button instance called b1, you may add menu short cut by calling
b1.setMnemonic('F'), so the user may be able to use Alt+F to click the button.
Q: 95 Can you write a Java class that could be used both as an applet as well as an
application?
A:97 Constructors must have the same name as the class and can not return a value. They are
only called once while regular methods could be called many times.
A:98 Yes, since inheritance inherits everything from the super class and interface, it may
make the subclass too clustering and sometimes error-prone when dynamic overriding or
dynamic overloading in some situation.
A:99 The ArithmeticException is thrown when integer is divided by zero or taking the
remainder of a number by zero. It is never thrown in floating-point operations.
A:101 Synchronization is the capability to control the access of multiple threads to shared
resources. synchronized keyword in java provides locking which ensures mutual exclusive
access of shared resource and prevent data race.
A: 102 The Collections API is a set of classes and interfaces that support operations on
collections of objects..
A: 103 Panel is the immediate superclass. A panel provides space in which an application can
attach any other component, including other panels.
Q: 104 What is the difference between a break statement and a continue statement?
A: 104 A break statement results in the 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.
A:105 A private variable may only be accessed within the class in which it is declared.
A:106 The eight primitive types are byte, char, short, int, long, float, double, and boolean.
A:110 Yes
A:111 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.
Q:112 What will happen if static modifier is removed from the signature of the main
method?
A:113 We can pass them around as method parameters where a method expects an object. It
also provides utility methods.
A:117 Binding refers to the linking of a procedure call to the code to be executed in response
to the call. Dynamic binding means that the code associated with a given procedure call is not
known until the time of the call at run-time.
A:119 Deletion in linked list is fast because it involves only updating the next pointer in the
node before the deleted node and updating the previous pointer in the node after the deleted
node.
A:120 The dot operator(.) is used to access the instance variables and methods of class
objects.It is also used to access classes and sub-packages from a package.
A:121 Private constructor is used if you do not want other classes to instantiate the object
and to prevent subclassing.T
A:122 Type casting means treating a variable of one type as though it is another type.
Q:123 Describe life cycle of thread?
Newborn state
Runnable state
Running state
Blocked state
Dead state
Q:124 What is the difference between the >> and >>> operators?
A:124 The >> operator carries the sign bit when shifting right. The >>> zero-fills bits that
have been shifted out.
A:126 Import statement is allowed at the beginning of the program file after package
statement.
A:127 It is a public static method used to obtain a reference to the current thread.
Initialization
Starting
Stopping
Destroying
Painting
Q:129 Why is the role of init() method under applets?
A:131 It is a simple drawing surface which are used for painting images or to perform other
graphical operations.
A:132 It refers to writing programs that execute across multiple devices (computers), in
which the devices are all connected to each other using a network.
A:133 Sockets provide the communication mechanism between two computers using TCP.
A client program creates a socket on its end of the communication and attempts to connect
that socket to a server.
A:134 Sockets are flexible and sufficient. Efficient socket based programming can be easily
implemented for general communications. It cause low network traffic.
A:135 Socket based communications allows only to send packets of raw data between
applications. Both the client-side and server-side have to provide mechanisms to make the
data useful in any way.
Q:136 Which class is used by server applications to obtain a port and listen for client
requests?
A:136 java.net.ServerSocket class is used by server applications to obtain a port and listen
for client requests
Q:137 Which class represents the socket that both the client and server use to
communicate with each other?
A:137 java.net.Socket class represents the socket that both the client and server use to
communicate with each other.
A:138 Generics provide compile-time type safety that allows programmers to catch invalid
types at compile time. Java Generic methods and generic classes enable programmers to
specify, with a single method declaration, a set of related methods or, with a single class
declaration, a set of related types.
A:140 No, there is no need to import this package. It is by default loaded internally by the
JVM.
Q:141 If System.exit (0); is written at the end of the try block, will the finally block still
execute?
A:141 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.
A:142 Daemon thread is a low priority thread, which runs intermittently in the back ground
doing the garbage collection operation for the java runtime system.
Q:145 What is the difference between the size and capacity of a Vector?
A:145 The size is the number of elements actually stored in the vector, while capacity is the
maximum number of elements it can store at a given instance of time.
A:146 Path and Classpath are operating system level environment variales. Path is defines
where the system can find the executables(.exe) files and classpath is used to specify the
location of .class files.
A:147 Yes an Interface can inherit another Interface, for that matter an Interface can extend
more than one Interface.
Q:148 Which object oriented Concept is achieved by using overloading and overriding?
A:148 Polymorphism
A:149 It is the casting from a general to a more specific type, i.e. casting down the hierarchy.
Q:150 What is the difference between inner class and nested class?
A:150 When a class is defined within a scope of another class, then it becomes inner class. If
the access modifier of the inner class is static, then it becomes nested class.