Saturday, 24 October 2015

Core Java MT Solved

1.Identify the features of New API (NIO).

Ans:

i)The new API works more consistently across platforms.

ii)It makes it easier to write programs that gracefully handle the failure of file

system operations.

iii)It provides more efficient access to a larger set of file attributes.

2.Differentiate between checked and unchecked exceptions.

Ans:

Checked Exception:

i)Every class that is a subclass of Exception except RuntimeException and its subclasses

falls into the category of checked exceptions.

ii)You must ?handle or declare? these exceptions with a try or throws statement.

Unchecked Exception:

i)java.lang.RuntimeException and java.lang.Error and their subclasses are categorized

as unchecked exceptions.

ii)You may use a try-catch statement to help discover the source of these exceptions, but

when an application is ready for production use, there should be little code remaining

that deals with RuntimeException and its subclasses.

3.Explain public, static, and void keywords in the following statement:

public static void main(String args[])

Ans:

i)public: The public keyword indicates that the method can be accessed from anyobject in

a Java program.

ii)static: The static keyword is used with the main() method that associates the method

with its class. You need not create an object of the class to call the main() method.

iii)void: The void keyword signifies that the main() method returns no value.

4.Identify the limitations of the java.io.File class.

Ans:

The java.io.File class has the following limitations:

i)Many methods did not throw exceptions when they failed, so it was impossible to obtain

useful error messages.

ii)Several operations were missing (file copy, move, and so on).

iii)The rename method did not work consistently across platforms.

iv)There was no real support for symbolic links.

v)More support for metadata was desired, such as file permissions, file owner, and

other security attributes.

vi)Accessing file metadata was inefficient?every call for metadata resulted in a system

call, which made the operations very inefficient.

vii)Many of the File methods did not scale. Requesting a large directory listing on a

server could result in a hang.

viii)It was not possible to write reliable code that could recursively walk a file tree and

respond appropriately if there were circular symbolic links.

5.Identify the five classes of the java.util.concurrent package and explain any two

classes.

Ans:

i)Semaphore: Is a classic concurrency tool.

ii)CountDownLatch: A very simple yet very common utility for blocking until a given

number of signals, events, or conditions hold.

iii)CyclicBarrier: A resettable multiway synchronization point useful in some styles of

parallel programming.

iv)Phaser: Provides a more flexible form of barrier that may be used to control phased

computation among multiple threads.

v)Exchanger: Allows two threads to exchange objects at a rendezvous point, and is

useful in several pipeline designs.

6.Steve has been asked to automate the Library Management System either in C++ or

Java. Steve has chosen to develop the project in Java. Identify the reason.

Ans:

One of the major problem areas in most of the object-oriented languages, such as C++,

is to handle memory allocation. Programmers need to explicitly handle memory in the

program for its optimum utilization. To handle memory allocation, they use pointers

that enable a program to refer to memory location of the computer. However, Java

does not support pointers and consists of the built-in functionality to manage memory.

7.You have created a class with two instance variables.You need to initialize the

variables automatically when a class is initialized. Identify the method that you will use

you to achieve this. In addition, describe the characteristics of this method.

Ans:

You can initialize the variable by using the constructor. The characteristics of a

constructor are:

-       A constructor has the same name as the class itself.

-       There is no return type for a constructor. A constructor returns the instance of

the class instead of a value.

-        A constructor is used to assign values to the data members of each

objectcreated from a class

8.Differentiate between interface and abstract class.

Ans:

1.The methods of a Java interface are implicitly abstract and cannot have

implementations. A Java abstract class can have instance methods that implements a

default behavior.

2.Variables declared in a Java interface are by default final. An abstract class may

contain non-final variables.

3.Members of a Java interface are public by default. A Java abstract class can have

the usual flavors of class members like private, protected, etc..

4.Java interface should be implemented using keyword, implements; A Java abstract

class should be extended using keyword, extends.

5.An interface can extend another Java interface only, an abstract class can extend

another Java class and implement multiple Java interfaces.

6.A Java class can implement multiple interfaces but it can extend only one abstract

class.

7.Interface is absolutely abstract and cannot be instantiated; A Java abstract class

also cannot be instantiated, but can be invoked if a main() exists.

8.In comparison with Java abstract classes, Java interfaces are slow as it requires

extra indirection.

No comments:

Post a Comment