Transcript
8/8/2019 100 Java Questions
1/30
===============================================================
=====================
|| url for the page is : http://www.geocities.com/binoymg/Java_Questions.htm
|
|===============================================================
====================
100 Java Interview Questions and Answers
Here is my collection of 100 java interview questions and answers. Hope this would be a
great help for new and experienced programmers to refresh their technical knowledge. I
would like to express my sincere thanks to Kamal, who helped me to make it successful.
Expecting your valuable suggestions and comments.
Binoy M. George
1.What's the difference between interface and abstract class? Which one you would
prefer? In what situation would you use an abstract class?
Interfaces are often used to describe the peripheral abilities of a class, not its centralidentity. An abstract class defines the core identity of its descendants. "heterogeneous vs.homogeneous." If implementers/subclasses are homogeneous, tend towards an abstract
base class. If they are heterogeneous, use an interface. Abstract classes are excellent
candidates inside of application frameworks. Abstract classes let you define somebehaviors; they force your subclasses to provide others.
2. Why would you apply design patterns (benefits)?
A pattern is a recurring solution to a standard problem. When related patterns are woven
together they form a ``language'' that provides a process for the orderly resolution of
software development problems. Pattern languages are not formal languages, but rather acollection of interrelated patterns, though they do provide a vocabulary for talking about
a particular problem. Both patterns and pattern languages help developers communicate
architectural knowledge, help people learn a new design paradigm or architectural style,and help new developers ignore traps and pitfalls that have traditionally been learned
only by costly experience.
http://www.mindspring.com/~mgrand/pattern_synopses.htm#Creational%20Patterns
8/8/2019 100 Java Questions
2/30
3. Name 3 design patterns in the Java 2 API. Write a Singleton. In what situation would
you use a Singleton?
Singleton Pattern, Business Delegate, Value Object
Singleton pattern Ensure a class only has one instance, and provide a global point ofaccess to it. Its important for some classes to have exactly one instance. Although there
can be many printers in a system, there should be only one printer spooler. There should
be only one file system (or file system manager) and one window manager.
public class Singleton {
private static final Singleton INSTANCE =
new Singleton();
// Private constructor supresses
// default public constructor
private Singleton( ) {}
public static Singleton getInstance( ) {
return INSTANCE;
}
}If you want to make it serializable, then change the declaration to:
public class Singleton implements Serializable
and add this method:
private Object readResolve()
throws ObjectStreamException {
return INSTANCE;}
The readResolve method serves to prevent the release of multiple instances upon
deserialization.
Another Implementation in the AppController Factory class/**
* @return The unique instance of this class.
*/static public AppControllerFactory instance() {
if(null == _factory) {
_factory = new AppControllerFactory();
}
8/8/2019 100 Java Questions
3/30
return _factory;
}
Business Delegate: In a normal scenario, presentation-tier components (e.g. a JSP)
interact directly with business services. As a result, the presentation-tier components arevulnerable to changes in the implementation of the business services: when the
implementation of the business services change, the code in the presentation tier must
change. The goal of Business Delegate object design pattern is to minimize the couplingbetween presentation-tier clients and the business service API, thus hiding the underlying
implementation details of the service. In this way we enhance the manageability of the
application. Using this design pattern, the client request is first handled by a Servlet that
dispatches to a JSP page for formatting and display. The JSP is responsible for delegatingthe processing of business functionality to a "business delegate" via a JavaBean.
The Value Object is used to encapsulate the business data. A single method call is used to
send and retrieve the Value Object. When the client requests the enterprise bean for thebusiness data, the enterprise bean can construct the Value Object, populate it with its
attribute values, and pass it by value to the client.
4. What is the Prototype design pattern?
Prototype design pattern is a creational design pattern. This pattern helps the Object
oriented design more flexible elegant and reusable.
5. Explain the concept of Entity Beans and Session Beans. What are the benefits of using
an Application Server? Is it possible that in certain situations you would not use an
AppServer? Why?
The Enterprise JavaBeans architecture is a component architecture for the developmentand deployment of component-based distributed business applications. Applications
written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-
user secure. These applications may be written once, and then deployed on any serverplatform that supports the Enterprise JavaBeans specification.
A session bean is a type of enterprise bean; a type of EJB server-side component.Session bean components implement the javax.ejb.SessionBean interface and can be
stateless or stateful. Stateless session beans are components that perform transient
services; stateful session beans are components that are dedicated to one client and act as
a server-side extension of that client.
8/8/2019 100 Java Questions
4/30
Session beans can act as agents modeling workflow or provide access to special
transient business services. As an agent, a stateful session bean might represent acustomer's session at an online shopping site. As a transitive service, a stateless session
bean might provide access to validate and process credit card orders. Session beans do
not normally represent persistent business concepts like Employee or Order. This is thedomain of a different component type called an entity bean.
An entity bean is a type of enterprise bean; a type of EJB server-side component. Entitybean components implement the javax.ejb.EntityBean interface and can be container-
managed (CMP) or bean-managed (BMP). Entity beans are designed to represent data in
the database; they wrapper data with business object semantics and read and update data
automatically. Entity beans can be safely shared by many clients, so that severalapplications can access the same bean identity at the concurrently
Web Server & Application Server: Why?
Yes, it is possible to use the Web server alone in certain circumstances such as, if you are
hosting a website serving
static HTML pages.
The Web server, in general, sends Web pages to browsers as its primary function. MostWeb servers also process input from users, format data, provide security, and perform
other tasks. The majority of a Web servers work is to execute HTML or scripting such as
Perl, JavaScript, or VBScript
An application server prepares material for the Web server -- for example, gathering datafrom databases, applying business rules, processing security clearances, or storing the
state of a users session. In some respects the term application server is misleading since
the functionality isnt limited to applications. Its role is more as an aggregator andmanager for data and processes used by anything running on a Web server.
One of the most frequent causes of poor Web server performance is data management ordata-related transactions. Web servers and HTML in particular were not designed for
large-scale data handling. Application servers shine at managing data. XML translation,
communication with database servers, validating data, and applying business rules are all
8/8/2019 100 Java Questions
5/30
functions for which application servers were originally designed. A key element may be
the business rules.
6. Explain final, finalize, and finally. When the finalize is invoked? How does GC work?etc.
Keyword final is equivalent to const in c/c++. If you declare a variable as final in Java
the value will be unaltered. That variable will not be created per instance basis.
Finally is tied with exception handling try catch. Finally block will be executed, even if
the exception is caught or NOT. Usually used for closing open connections files etc.
The garbage collector invokes an object's finalize() method when it detects that the object
has become unreachable.
7. In a system that you are designing and developing, a lot of small changes are expected
to be committed at the end of a method call (persisted to the DB). If you don't want to
query the database frequently. what would you do?
8. What is a two-phase commit?
Two phase commit technology has been used to automatically control and monitor
commit and/or rollback activities for transactions in a distributed database system. Two
phase commit technology is used when data updates need to occur simultaneously atmultiple databases within a distributed system. Two phase commits are done to maintain
data integrity and accuracy within the distributed databases through synchronized locking
of all pieces of a transaction. Two phase commit is a proven solution when data integrity
in a distributed system is a requirement. Two phase commit technology is used for hoteland airline reservations, stock market transactions, banking applications, and credit card
systems
9.Give an algorithm that calculates the distance between two text strings (only operations
you can have are: delete, add, and change, one by one). Given the definition of a
sequence (5 4 7 6 is, but 1 2 4 5 is not), write an algorithm to check if an arbitrary array isa sequence or not.
10.Describe a situation where concurrent access would lead to inconsistency in your
application. How would you solve this problem?
8/8/2019 100 Java Questions
6/30
Make the respective class synchronized.
11.What is the difference between RMI and IIOP?
The Remote Method Invocation classes in JDK 1.1 provide a simple, yet extremelypowerful, distributed object model for Java. Although RMI is language-specific, because
of Java's platform-neutrality, RMI can be utilised widely, and with the use of JDBC can
provide basic object-relational mapping capabilities or with JNI, can provide access toplatform-specific capabilities.
The IIOP (Internet Inter-ORB Protocol) protocol connects CORBA products from
different vendors, ensuring interoperability among them. RMI-IIOP is, in a sense, amarriage of RMI and CORBA.
12.Draw a class diagram (UML) for a system.
13.Which do you prefer, inheritance or delegation? Why?
Please refer http://www.objectmentor.com/resources/listArticles?
key=date&date=2002
14.What is the difference between the JDK 1.02 event model and the event-delegation
model introduced with JDK 1.1?
The JDK 1.02 event model uses an event inheritance or bubbling approach. In this model,components are required to handle their own events. If they do not handle a particular
event, the event is inherited by (or bubbled up to) the component's container. The
container then either handles the event or it is bubbled up to its container and so on, untilthe highest-level container has been tried. In the event-delegation model, specific objects
are designated as event handlers for GUI components. These objects implement event-
listener interfaces. The event-delegation model is more efficient than the event-
inheritance model because it eliminates the processing required to support the bubbling ofunhandled events.
15. Give an example of using JDBC access the database.
try
{
8/8/2019 100 Java Questions
7/30
Class.forName("register the driver");
Connection con = DriverManager.getConnection("url of db", "username","password");
Statement state = con.createStatement();state.executeUpdate("create table testing(firstname varchar(20), lastname varchar(20))");
state.executeQuery("insert into testing values('phu','huynh')");
con.commit();}
catch(Exception e)
{System.out.println(e);
}finally {
state.close();con.close();
}
16. Difference of RequestDispatcher and sendRedirect ?
getRequestDispatcher is a method of ServletContext
1. forward is handled completely on the server
2.preserve all the request data, request state on the server
3.the URL of the original servlet is maintained4.does not require a round trip to the client, and thus more efficient
sendRedirect is a method of HttpServletResponse
1.requires the client to reconnect to the new resource, the request is first sent to the client
which requests for the resource
mentioned in the argument of sendRedirect method.2.does not automatically preserve all the request data result in a different final URL
(convert relative URL to absolute URL)
17.Can you tell me what iterators and enumerators are?
In any collection class, you must have a way to put things in and a way to get things out.Enumerations and iterators are used to get the object out from a collection class.
One benefit of using iterators over enumerations is iterators check for concurrent
modifications when you access each element. Enumerators faster than Iterators.
8/8/2019 100 Java Questions
8/30
18.You know what a queue is .... Implement a queue class with Java. What is the cost of
enqueue and dequeue? Can you improve this? What if the queue is full? What kind ofmechanism would you use to increase its size?
Please refer : Queue.doc
19. Difference between String & StringBuffer?
String object is immutable that is string is constant. StringBuffer is mutable.
StringBufffer will give better performance than String object.
20 What is synchronization and why is it important?
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.
21 What's the diffence between green threads and native threads?
Green threads are the default threads provided by the JDKTM. Native threads are the
threads that are provided by the native OS:
Native threads can provide several advantages over the default green threads
implementation, depending on your computing situation.
Benefits of using the native threads:
If you run JavaTM code in a multi-processor environment, the Solaris kernel can
schedule native threads on the parallel processors for increased performance. By contrast,green threads exist only at the user-level and are not mapped to multiple kernel threads
by the operating system. Performance enhancement from parallelism cannot be realized
using green threads.
The native threads implementation can call into C libraries that use Solaris native threads.
Such libraries cannot be used with green threads.
8/8/2019 100 Java Questions
9/30
When using the native threads, the VM can avoid some inefficient remapping of I/O
system calls that are necessary when green threads are used.
22 How do you run OS commands from JAVA
Using Runtime.getRuntime.execute() command)
23 Does a varibale displayed in XSL can it be changed
Ans: NO
24 Diff between SAX and DOM
XML Parsers, DOM is more powerful reads the complete and parse, SAX parse segmentby segment sequentially
25 Can the SingleTon Pattern will work in multiple JVM's
Not Sure, my answer is: NO
27 Thread Isolation levels
28 How do you delete Duplicate rows in Oracle DB
Deleting Duplicate Rows when there is a Primary key:
DELETE
FROM Customers
WHERE ID IN
(SELECT ID
8/8/2019 100 Java Questions
10/30
FROM
(SELECT ID, LastName, FirstName,
RANK() OVER (PARTITION BY LastName,
FirstName ORDER BY ID) AS SeqNumber
FROM
(SELECT ID, LastName, FirstName
FROM Customers
WHERE (LastName, FirstName) IN
(SELECT LastName, FirstName
FROM Customers
GROUP BY LastName, FirstName
HAVING COUNT(*) > 1)))
WHERE SeqNumber > 1);
Deleting Duplicate Rows when there no Primary Key:
This technique works for tables that have no primary keywhich, by itself,
is a sign of bad database design, but that's another topic for discussion.
For such tables, you can use the ROWID pseudocolumn instead of the primary key to
get the same result:
DELETE
FROM Customers
8/8/2019 100 Java Questions
11/30
WHERE ROWID IN
(SELECT MyKey
FROM
(SELECT MyKey, LastName, FirstName,
RANK() OVER (PARTITION BY LastName, FirstName ORDER BY MyKey) AS
SeqNumber
FROM
(SELECT ROWID AS MyKey, LastName, FirstName
FROM Customers
WHERE (LastName, FirstName) IN
(SELECT LastName, FirstName
FROM Customers
GROUP BY LastName, FirstName
HAVING COUNT(*) > 1)))
WHERE SeqNumber > 1);
29 What is SAAJ?
SOAP with Attachment API for JAVA
30 How do you make Servlet Thread Safe?
By extending the Servelt from SingleThread
8/8/2019 100 Java Questions
12/30
31 What are Models in Assets
a) Small Mid Specialty Taxable, Growth Specialty Taxable
b) Foreign Equity Specialty Taxable,
c) Conservative Tax Deferred, Conservative Taxable
d) Income and Growth Tax Deferred, Income and Growth Taxable
e) Moderate Growth Tax Deferred, Moderate Growth Taxable
f) Growth Tax Deferred, Growth Taxable, Aggressive Growth Tax Deferred
32 What is the Life Cycle of a Servelt?
Instantiate->Init--> Service --> destroy
33 How do you make a class SingleTon.
By making the class Final and writing constructor Private
34. JSP page life Cycle:
There are 7 phases in the JSP life cycle:
1 : Page Translation : The page is parsed and the java file containing the servlet is
created.
2 : Page Compilation : The java file is compiled.
3 : Load Class : The compiled class is Loaded.
8/8/2019 100 Java Questions
13/30
4 : Create Instance : An instance of the servlet is created.
5 : call_JSPInit( ) : This method is called before any other method to allow initialization.
6 : call_JSPService() : This method is called for each request
7 : call_JSPDestroy() : This method is called when the servlet container decides to take
the servlet out of service
35 What is Serialization and externalization
Serialization: Converting Byte to Stream
Externalization : Stream to Byte
36. Diff between ArrayList and Vector
ArrayList is not synchronized but Vector is. ArrayList is faster than Vector.
Vector has many legacy methods.
37. HashMap, HashTable and TreeMap.
HashMap is unsynchronized and permits nulls. This class makes no guarantees as to the
order of the map; in particular, it does not guarantee that the order will remain constant
over time. HashMap is not Synchronized so it is good in performance. HashTable isSynchronised.
The point of a TreeMap is that you get the results in sorted order. TreeMap is the only
Map with the subMap( ) method, which allows you to return a portion of the tree. TheTreeMap is generally slower than the HashMap
8/8/2019 100 Java Questions
14/30
38. Diff between int and Integer
int: primitive data type.
Integer: Object, Wrapper class of int.
39.Diff between Static and Final?
A static method is a method that's invoked through a class, rather than a specific objectof that class
A final method is just a method that cannot be overridden Static methods can be
overriden, but they cannot be
overriden to be non-static, Whereas final methods cannot be overriden.
40. How to prevent a variable from Serialization?
To prevent serialization declare the variable as "Transient".
41. What are UserDefined Exceptions?
User Defined exception are the programmer created software detected exceptions.
Programs may name their own exceptions by assigning a string to a variable or creating anew exception class is called User defined exception
42. Explain about Garbage Collector?
The name "garbage collection" implies that objects that are no longer needed by the
program are "garbage" and can be thrown away. A more accurate and up-to-date
8/8/2019 100 Java Questions
15/30
metaphor might be "memory recycling." When an object is no longer referenced by the
program, the heap space it occupies must be recycled so that the space is available for
subsequent new objects. The garbage collector must somehow determine which objectsare no longer referenced by the program and make available the heap space occupied by
such unreferenced objects. In the process of freeing unreferenced objects, the garbage
collector must run any finalizers of objects being freed.
Advantages: First, it can make programmers more productive
A second advantage of garbage collection is that it helps ensure program integrity.
Garbage collection is an important part of Java's security strategy. Java programmers are
unable to accidentally (or purposely) crash the JVM by incorrectly freeing memory.
43. What is the difference between the >> and >>> operators?
The >> operator carries the sign bit when shifting right.
The >>> zero-fills bits that have been shifted out.
44. How are Observer and Observable used?
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.
45. What is synchronization and why is it important?
With respect to multithreading, synchronization is the capability to control the
8/8/2019 100 Java Questions
16/30
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 significanterrors.
46. What is the difference between yielding and sleeping?
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.
47. Does garbage collection guarantee that a program will not run out of memory?
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
48 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,
8/8/2019 100 Java Questions
17/30
based on priority and other factors.
49 When a thread is created and started, what is its initial state?
A thread is in the ready state after it has been created and started.
50. 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.
51. What invokes a thread's run() method?
After a thread is started, via its start() method or that of the Thread class,
the JVM invokes the thread's run() method when the thread is initially executed.
52. What is the purpose of the Runtime class?
The purpose of the Runtime class is to provide access to the Java runtime system and to
use the Operating System commands.
53. What is the relationship between the Canvas class and the Graphics class?
A Canvas object provides access to a Graphics object via its paint() method.
8/8/2019 100 Java Questions
18/30
54. What is the difference between a static and a non-static inner class?
A non-static inner class may have object instances that are associated with instances
of the class's outer class. A static inner class does not have any object instances.
55. What is the Dictionary class?
The Dictionary class provides the capability to store key-value pairs.
56 Name the eight primitive Java types.
The eight primitive types are byte, char, short, int, long, float, double, and boolean.
57 What is the relationship between an event-listener interface and an event-adapter
class?
An event-listener interface defines the methods that must be implemented by an event
handler for a particular kind of event. An event adapter provides a default implementationof an event-listener interface
58. What modifiers can be used with a local inner class?
A local inner class may be final or abstract.
8/8/2019 100 Java Questions
19/30
8/8/2019 100 Java Questions
20/30
Overridden methods must have the same name, argument list, and return type. The
overriding method may not limit the access of the method it overrides. The overriding
method may not throw any exceptions that may not be thrown by the overridden method.
60. What is the difference between a field variable and a local variable?
A field variable is a variable that is declared as a member of a class. A local variable is a
variable that is declared local to a method
61 What is Stack and Heap ? If you declare a primitive type such as declaring a variable
where does it store? Where does JVM referes all the live Objects?
The Java stack is used to store parameters for and results of bytecode instructions, to pass
parameters to and return values from methods, and to keep the state of each method
invocation. The state of a method invocation is called its stack frame. The vars, frame,and optop registers point to different parts of the current stack frame. The heap is where
the objects of a Java program live. Any time you allocate memory with the new operator,
that memory comes from the heap. The Java language doesn't allow you to free allocatedmemory directly. Instead, the runtime environment keeps track of the references to each
object on the heap, and automatically frees the memory occupied by objects that are no
longer referenced -- a process called garbage collection.
62 Explain the doStartTag() and doEndTag() methods ?
The doStartTag() and doEndTag() methods belong to the Tag interface of the
javax.servlet.jsp.tagext package. The Tag interface provides methods that connect a tag
handler (a tag handler is an object invoked by a web container/server to evaluate acustom tag during the execution of the JSP page that references the tag.) with a JSP
implementation class , including the life cycle methods and methods that are invoked at
the start and end tag. The method doStartTag() processes the start tag associated with aJSP while the doEndTag() method processes the end tag associated with a JSP.
8/8/2019 100 Java Questions
21/30
63 What is your platform's default character encoding?
If you are running Java on English Windows platforms, it is probably Cp1252.
If you are running Java on English Solaris platforms, it is most likely 8859_1.
64 Explain how do you implement Tags in JSP ?
The "taglib" directive is included in a JSP page which uses tags defined a tag library.
Here is the syntax for that:
The uri refers to a URI (Uniform Resource Identifier, a term referring to any specification
that identifies an object on the internet) that uniquely identifies the TLD, tag library
descriptor. A tag library descriptor is an XML document that describes a tag library. Theprefix attribute defines the prefix that distinguishes tags defined by a given tag library
from those provided by other tag libraries.
65 How can a dead thread be restarted?
A dead thread cannot be restarted.
66 For a CMP Bean what should the EjbCreate returns?
Remote Interface
67 What is the order of method invocation in an Applet ?
68 How will you pass values from HTML page to the Servlet ?
8/8/2019 100 Java Questions
22/30
session or cookies
69 How does thread synchronization occurs inside a monitor?
70 Can you load the server object dynamically? If so, what are the major 3 steps involvedin it ?
71 What is difference in between Java Class and Bean ?
A Java Bean is a java class object that encapsulates data in the form of
instance variables. These variables are reffered to as properties of the bean.
The class then provides a set of methods for accessing and mutating its properties.
72. You add web components to a J2EE application in a package called WAR (web
application archive). A WAR has a specific hierarchical directory structure. Whichdirectory stores the deployment descriptor for a Web application located in the myapp
directory?
An application located in the myapp directory will have its deployment descriptorin the myapp/WEB-INF directory.
73 Suppose If we have variable ' I ' in run method, If I can create one or more thread
each thread will occupy a separate copy or same variable will be shared ?
74 What are session variable in Servlets?
75 What are the Normalization Rules ? Define the Normalization ?
8/8/2019 100 Java Questions
23/30
First Normal Form
For a table to be in First Normal Form (1NF) each row must be identified, all columns inthe table must contain atomic values, and each field must be unique.
Second Normal Form
For a table to be in Second Normal Form (2NF), it must be already in 1NF and it containsno partial key functional dependencies. In other words, a table is said to be in 2NF if it is
a 1NF table where all of its columns that are not part of the key are dependent upon the
whole key - not just part of it.
Third Normal Form
A table is considered to be in Third Normal Form (3NF) if it is already in Second Normal
Form and all columns that are not part of the primary key are dependent entirely on theprimary key. In other words, every column in the table must be dependent upon "the key,
the whole key and nothing but the key."
76 What is meant by class loader? How many types are there? When will we use them?
The class ClassLoader is an abstract class. A class loader is an object that is responsible
for loading classes. Given the name of a class, it should attempt to locate or generate data
that constitutes a definition for the class. A typical strategy is to transform the name intoa file name and then read a "class file" of that name from a file system.
Applications implement subclasses of ClassLoader in order to extend the manner inwhich the Java virtual machine dynamically loads classes. The ClassLoader class uses a
delegation model to search for classes and resources
77 How do you load an Image in a Servlet ?
78 What is meant by cookies ? Explain ?
Cookies are a general mechanism which server side connections can use to both storeand retrieve information on the client side of the connection. A cookie is a unique
identifier that a web server places on your computer: a serial number for you personally
that can be used to retrieve your records from their databases. It's usually a string of
random-looking letters long enough to be unique. They are kept in a file called cookies or
8/8/2019 100 Java Questions
24/30
cookies.txt or MagicCookie in your browser directory/folder. They are also known as
``persistent cookies'' because they may last for years, even if you change ISP or upgrade
your browser.
79 Wrapper class. Is String a Wrapper Class
Example : Integer is a wrapper class of int. String is not a wrapper class.
80 Checked & Unchecked exception
Use checked exceptions for conditions that client code may reasonably be expectedto handle. This compile-time checking for the presence of exception handlers is designed
to reduce the number of exceptions which are not properly handled."
If you are throwing an exception for an abnormal condition that you feel clientprogrammers should consciously decide how to handle, throw a checked exception.
Unchecked exceptions indicate software bugs.
Precisely because unchecked exceptions usually represent software bugs, they
often can't be handled somewhere with more context.
81 Explain lazy activation
Lazy activation defers activating an object until a client's first use (i.e., the first methodinvocation). Delay activation until the first client request for the object. Uses faulting
remote references The faulting remote reference contains a persistent activation handle
(reference) for the remote object and a transient remote reference to the remote object.The transient remote reference can be null. On the first reference to the remote object, if
the transient remote reference is null, the persistent activation handle is used to contact
(directly or indirectly) the activator for the remote object. If need be the activatoractivates the object and returns the proper remote reference to the remote object.
82 How do you delete a HttpSession.
The invalidate() method of the HttpSession interface expires the current session. It causes
the representation of the session to be invalidated and removed from its context.
83 What is the different of an Applet and a Java Application
8/8/2019 100 Java Questions
25/30
In simple terms, an applet runs under the control of a browser, whereas an applicationruns stand-alone, with the support of a virtual machine. As such, an applet is subjected to
more stringent security restrictions in terms of file and network access, whereas an
application can have free reign over these resources.
Applets are great for creating dynamic and interactive web applications, but the true
power of Java lies in writing full blown applications. With the limitation of disk and
network access, it would be difficult to write commercial applications (though through
the user of server based file systems, not impossible). However, a Java application hasfull network and local file system access, and its potential is limited only by the creativity
of its developers.
84. How do we pass a reference parameter to a function in Java?
Even though Java doesn't accept reference parameter, but we can
pass in the object for the parameter of the function.For example in C++, we can do this:
void changeValue(int& a){
a++;
}void main()
{
int b=2;changeValue(b);
}
however in Java, we cannot do the same thing. So we can pass thethe int value into Integer object, and we pass this object into the
the function. And this function will change the object.
85. Explain the difference between the equals() method, and the == operator
- what happens if .equals() is not defined? (bit wise comparison)- we had a bit of an argument about stringss being given the same address by the compile
86. How do you put an object on the stack in java?
8/8/2019 100 Java Questions
26/30
Stack is inherited from Vector. So it has all of the characteristics and behaviors of a
Vector plus some extra Stack behaviors.
Stack stk = new Stack();
for(int i = 0; i < months.length; i++)
stk.push(months[i] + " ");System.out.println("stk = " + stk);
// Treating a stack as a Vector:
stk.addElement("The last line");
87 What can't you do in an EJB?
You can't use java.io
88. Do you know about text formatter?
89. How would you create a Hashmap from an Array?
90. How would you create a List from an Array?
91. How do you stop a thread?
92. What can you tell me about the reflection package?
The Java Core Reflection API provides a small, type-safe, and secure API that supports
introspection about the classes and objects in the current Java Virtual Machine*. If
permitted by security policy, the API can be used to:
construct new class instances and new arrays
access and modify fields of objects and classes
invoke methods on objects and classes
access and modify elements of arrays
8/8/2019 100 Java Questions
27/30
Pls refer to : http://java.sun.com/j2se/1.3/docs/guide/reflection/spec/java-
reflection.doc.html
93. Are private member variables saved if class is serializable?
94. A question about the Clonable interface, deep/shallow copies, clone() method
96. What are thread priorities?
Thread Priorities (MIN_PRIORITY ( 1 ), NORM_PRIORITY ( 5 ) , MX_PRIORITY( 10 ) )
97 What is difference in between Java Class and Bean ?
What differentiates Beans from typical Java classes is introspection. Tools that recognizepredefined patterns in method signatures and class definitions can "look inside" a Bean to
determine its properties and behavior. A Bean's state can be manipulated at the time it is
being assembled as a part within a larger application. The application assembly isreferred to as design time in contrast to run time. In order for this scheme to work,
method signatures within Beans must follow a certain pattern in order for introspection
tools to recognize how Beans can be manipulated, both at design time, and run time.
In effect, Beans publish their attributes and behaviors through special method signature
patterns that are recognized by beans-aware application construction tools. However, youneed not have one of these construction tools in order to build or test your beans. The
pattern signatures are designed to be easily recognized by human readers as well as
builder tools. One of the first things you'll learn when building beans is how to recognize
and construct methods that adhere to these patterns.
98.Why might you define a method as native?
Native methods are methods implemented in another programming language such as
C/C++.
To get to access hardware that Java does not know about
To write optimized code for performance in a language such as C/C++
8/8/2019 100 Java Questions
28/30
99. Which design patterns reduces the coupling between presentation-tier clients and
business services in a web application?
Business Delegate
In a normal scenario, presentation-tier components (e.g. a JSP) interact directly withbusiness services. As a result, the presentation-tier components are vulnerable to changes
in the implementation of the business services: when the implementation of the business
services change, the code in the presentation tier must change. The goal of BusinessDelegate object design pattern is to minimize the coupling between presentation-tier
clients and the business service API, thus hiding the underlying implementation details of
the service. In this way we enhance the manageability of the application. Using this
design pattern, the client request is first handled by a Servlet that dispatches to a JSP pagefor formatting and display. The JSP is responsible for delegating the processing of
business functionality to a "business delegate" via a JavaBean.
100. Explain the Significance of using the following Design Patterns MVC, DAO(DataAccess Object, Value Object)
MVC design pattern provide Multiple View using the same model.
DAO (Data Access Object), which enables easier migration to different persistence
storage implementation.
The Value Object is used to encapsulate the business data. A single method call is used to
send and retrieve the Value Object. When the client requests the enterprise bean for the
business data, the enterprise bean can construct the Value Object, populate it with its
attribute values, and pass it by value to the client.
101 Why do you make setAutoCommit(false) for a transaction?
setAutoCommit
public abstract void setAutoCommit(boolean autoCommit) throws SQLException
If a connection is in auto-commit mode, then all its SQL statements will be executed and
committed as individual transactions. Otherwise, its SQL statements are grouped into
8/8/2019 100 Java Questions
29/30
8/8/2019 100 Java Questions
30/30
Please email your valuable comments and suggestions to: binoymg@hotmail.com
top related