Pages

Thursday, 28 November 2013

Java Interview Questions and Answers - Part3



What is the difference between Process and Thread? 
A process can contain multiple threads. In most multithreading operating systems, a process gets its own memory address space; a thread doesn't. Threads typically share the heap belonging to their parent process. For instance, a JVM runs in a single process in the host O/S. Threads in the JVM share the heap belonging to that process; that's why several threads may access the same object. Typically, even though they share a common heap, threads have their own stack space. This is how one thread's invocation of a method is kept separate from another's. This is all a gross oversimplification, but it's accurate enough at a high level. Lots of details differ between operating systems. Process vs. Thread A program vs. similar to a sequential program an run on its own vs. Cannot run on its own Unit of allocation vs. Unit of execution Have its own memory space vs. Share with others Each process has one or more threads vs. Each thread belongs to one process Expensive, need to context switch vs. Cheap, can use process memory and may not need to context switch More secure. One process cannot corrupt another process vs. Less secure. A thread can write the memory used by another thread

Can an inner class declared inside of a method access local variables of this method? 
It's possible if these variables are final.
What can go wrong if you replace &emp;&emp; with &emp; in the following code: String a=null; if (a!=null && a.length()>10) {...} 
A single ampersand here would lead to a NullPointerException.

What is the Vector class? 
The Vector class provides the capability to implement a growable array of objects

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.

If a method is declared as protected, where may the method be accessed? 
A protected method may only be accessed by classes or interfaces of the same package or by subclasses of the class in which it is declared.

What is an Iterator interface? 
The Iterator interface is used to step through the elements of a Collection.

How many bits are used to represent Unicode, ASCII, UTF-16, and UTF-8 characters? 
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.

What's the main difference between a Vector and an ArrayList? 
Java Vector class is internally synchronized and ArrayList is not.

What are wrapped classes? 
Wrapped classes are classes that allow primitive types to be accessed as objects.

Does garbage collection guarantee that a program will not run out of memory? 
No, it doesn't. 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.

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.

Name Component subclasses that support painting ?
The Canvas, Frame, Panel, and Applet classes support painting.
What is a native method? 
A native method is a method that is implemented in a language other than Java.

How can you write a loop indefinitely? 
for(;;)--for loop; while(true)--always true, etc.

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

When should the method invokeLater()be used? 
This method is used to ensure that Swing components are updated through the event-dispatching thread.

How many methods in Object class? 
This question is not asked to test your memory. It tests you how well you know Java. Ten in total.
clone() 
equals() & hashcode() 
getClass() 
finalize() 
wait() & notify() 
toString()

How does Java handle integer overflows and underflows? 
It uses low order bytes of the result that can fit into the size of the type allowed by the operation.
What is the numeric promotion? 
Numeric promotion is used with both unary and binary bitwise operators. This means that byte, char, and short values are converted to int values before a bitwise operator is applied.
If a binary bitwise operator has one long operand, the other operand is converted to a long value.
The type of the result of a bitwise operation is the type to which the operands have been promoted. For example:
short a = 5;
byte b = 10;
long c = 15;
The type of the result of (a+b) is int, not short or byte. The type of the result of (a+c) or (b+c) is long.

Is the numeric promotion available in other platform? 
Yes. Because Java is implemented using a platform-independent virtual machine, bitwise operations always yield the same result, even when run on machines that use radically different CPUs.

0 comments:

Post a Comment