News:

GinGly.com - Used by 85,000 Members - SMS Backed up 7,35,000 - Contacts Stored  28,850 !!

Main Menu

Interview FAQ's In JAVA - Part II

Started by sivaji, Jan 10, 2008, 07:39 PM

Previous topic - Next topic

sivaji

Interview FAQ's In JAVA

Q: If I write System.exit (0); at the end of the try block, will the finally block still execute?

A: 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.

Q:How are Observer and Observable used?

A: 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.

Q: What is synchronization and why is it important?

A: 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.

Q: How does Java handle integer overflows and underflows?

A: It uses those low order bytes of the result that can fit into the size of the type allowed by the operation.

Q: Does garbage collection guarantee that a program will not run out of memory?

A: 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

Q: What is the difference between preemptive scheduling and time slicing?

A: 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.

Q: When a thread is created and started, what is its initial state?

A: A thread is in the ready state after it has been created and started.

Q: What is the purpose of finalization?

A: The purpose of finalization is to give an unreachable object the opportunity to perform any cleanup processing before the
    object is garbage collected.

Q: What is the Locale class?

A: The Locale class is used to tailor program output to the conventions of a particular geographic, political, or cultural
     region.

Q: What is the difference between a while statement and a do statement?

A: A while statement checks at the beginning of a loop to see whether the next loop iteration should occur. A do statement
    checks at the end of a loop to see whether the next iteration of a loop should occur. The do statement will always execute
    the body of a loop at least once.

Q: What is the difference between static and non-static variables?

A: 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.

Q: How are this() and super() used with constructors?


A: Othis() is used to invoke a constructor of the same class. super() is used to invoke a superclass constructor.

Q: What are synchronized methods and synchronized statements?


A: 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.

Q: What is daemon thread and which method is used to create the daemon thread?

A: Daemon thread is a low priority thread which runs intermittently in the back ground doing the garbage collection
     operation for the java runtime system. setDaemon method is used to create a daemon thread.

Q: Can applets communicate with each other?

A: At this point in time applets may communicate with other applets running in the same virtual machine. If the applets are
     of the same class, they can communicate via shared static variables. If the applets are of different classes, then each
     will need a reference to the same class with static variables. In any case the basic idea is to pass the information back
     and forth through a static variable.

     An applet can also get references to all other applets on the same page using the getApplets() method of     
     java.applet.AppletContext. Once you\'ve got a reference to an applet, you can communicate with it by using its public
     members.

     It is conceivable to have applets in different virtual machines that talk to a server somewhere on the Internet and store
     any data that needs to be serialized there. Then, when another applet needs this data, it could connect to this same
     server. Implementing this is non-trivial.

Q: What are the steps in the JDBC connection?

A: While making a JDBC connection we go through the following steps :
     Step 1 : Register the database driver by using : Class.forName(\" driver classs for that specific database\" );
     Step 2 : Now create database connection using:Connection con= DriverManager.getConnection(url,username,password);
     Step 3: Now Create a query using : Statement stmt = Connection.Statement(\"select * from TABLE NAME\");
     Step 4 : Exceute the query : stmt.exceuteUpdate();

Q: How does a try statement determine which catch clause should be used to handle an exception?

A: When an exception is thrown within the body of a try statement, the catch clauses of the try statement are examined in
     the order in which they appear. The first catch clause that is capable of handling the exceptionis executed. The remaining
     catch clauses are ignored.

Q: Can an unreachable object become reachable again?

A: 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.

Q: What method must be implemented by all threads?

A: All tasks must implement the run() method, whether they are a subclass of Thread or implement the Runnable interface.

Q: What are synchronized methods and synchronized statements?

A: 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.

Q: What is Externalizable?

A: 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)

Q: What modifiers are allowed for methods in an Interface?

A: Only public and abstract modifiers are allowed for methods in interfaces.

Q: What are some alternatives to inheritance?

A: 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).

Q: What does it mean that a method or field is "static"?


A: 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.

Q:  What is the difference between preemptive scheduling and time slicing?

A: 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.

Q: What is the catch or declare rule for method declarations?

A: 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.

Q: What is the Collections API?

A: The Collections API is a set of classes and interfaces that support operations on collections of objects.

Q: What is the List interface?

A: The List interface provides support for ordered collections of objects.

Q: What is the Vector class?

A: The Vector class provides the capability to implement a growable array of objects.

Q: What is an Iterator interface?

A: The Iterator interface is used to step through the elements of a Collection .

Q: Which java.util classes and interfaces support event handling?

A: The EventObject class and the EventListener interface support event processing.

Q: What is the GregorianCalendar class?

A: The GregorianCalendar provides support for traditional Western calendars

Q: What is the Locale class?


A: The Locale class is used to tailor program output to the conventions of a particular geographic, political, or cultural region

Q: What is the SimpleTimeZone class?

A: The SimpleTimeZone class provides support for a Gregorian calendar .

Q: What is the Map interface?

A: The Map interface replaces the JDK 1.1 Dictionary class and is used associate keys with values.

Q: What is the highest-level event class of the event-delegation model?

A: The java.util.EventObject class is the highest-level class in the event-delegation class hierarchy.

Q: What is the Collection interface?

A: The Collection interface provides support for the implementation of a mathematical bag - an unordered collection of
     objects that may contain duplicates.

Q: What is the Set interface?

A: The Set interface provides methods for accessing the elements of a finite mathematical set. Sets do not allow duplicate
     elements.

Q: What is the typical use of Hashtable?

A: Whenever a program wants to store a key value pair, one can use Hashtable.

Q: I am trying to store an object using a key in a Hashtable. And some other object already exists in that location, then
    what will happen? The existing object will be overwritten? Or the new object will be stored elsewhere?


A: The existing object will be overwritten and thus it will be lost.

Q: What is the difference between the size and capacity of a Vector?

A: 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.

Q: Can a vector contain heterogenous objects?

A: Yes a Vector can contain heterogenous objects. Because a Vector stores everything in terms of Object.

Q: Can a ArrayList contain heterogenous objects?

A: Yes a ArrayList can contain heterogenous objects. Because a ArrayList stores everything in terms of Object.
Am now @ Chennai