What is Byte Code?
All Java programs are compiled into class files that contain bytecodes. These byte codes can be run in any platform and hence java is said to be platform independent.
Explain working of Java Virtual Machine (JVM)?
JVM is an abstract computing machine like any other real computing machine which first converts .java file into .class file by using Compiler (.class is nothing but byte code file) and Interpreter reads byte codes.
Does JVM maintain a cache by itself? Does the JVM allocate objects in heap? Is this the OS heap or the heap maintained by the JVM? Why?
Yes, the JVM maintains a cache by itself. It creates the Objects on the HEAP, but references to those objects are on the STACK.
What is the Java API?
The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets.
How is it possible for two String objects with identical values not to be equal under the == operator?
The == operator compares two objects to determine if they are the same object in memory, i.e. present in the same memory location. It is possible for two String objects to have the same value, but located in different areas of memory. “==” compares references while .equals compares contents.
What does it mean that a class or member is final?
Variables defined in an interface are implicitly final. A final class can't be extended i.e., final class may not be sub-classed. This is done for security reasons with basic classes like String and Integer. It also allows the compiler to make some optimizations, and makes thread safety a little easier to achieve. A final method can't be overridden when its class is inherited.
Why are there no global variables in Java?
Global variables break the referential transparency and global variables create collisions in namespace.
Explain the keyword “static”.
Java does not support global variables. Every variable in Java must be declared within a class. However, Java uses the “static” keyword to indicate that a particular variable is a class variable rather than an instance variable. What this means is that there will be only one copy of the variable for the class rather than one for each instance of the class. It will, in effect, be global within that class. There will be one and only one copy of a class variable no matter how many instances of the class are created. When declared static a variable belongs to the class as a whole and not to any instantiated object in particular. You can also "reach" this variable from anywhere in the program.
How to convert a String to a Number in java?
valueOf() function of Integer class is used to convert String to Number.
For example,
int i = Integer.parseInt("75");
or using a wrapper
Integer i = Integer.valueOf("75");
Name eight primitive Java types.
The 8 primitive types are byte, char, short, int, long, float, double, and boolean.
What type of parameter passing does Java support?
In Java the arguments (primitives and objects) are always passed by value. With objects, the object reference itself is passed by value and so both the original reference and parameter copy both refer to the same object.
What is the first argument of the String array in main method?
The String array is empty. It does not have any element. This is unlike C/C++ where the first element by default is the program name. If we do not provide any arguments on the command line, then the String array of main method will be empty but not null.
How can I swap two variables without using a third variable?
Add two variables and assign the value into First variable. Subtract the Second value with the result Value and assign to Second variable. Subtract the Result of First Variable With Result of Second Variable and Assign to First Variable. Example:
int a=5, b=10; a=a+b; b=a-b; a=a-b;
Why would you use a synchronized block vs. synchronized method?
Synchronized blocks place locks for shorter periods than synchronized methods.
What's the main difference between a Vector and an ArrayList?
Java Vector class is internally synchronized and ArrayList is not synchronized.
Describe the wrapper classes in Java.
Wrapper class is wrapper around a primitive data type. An instance of a wrapper class contains, or wraps, a primitive value of the corresponding type.
Following table lists the primitive types and the corresponding wrapper classes:
Primitive Wrapper:
boolean - java.lang.Boolean
byte - java.lang.Byte
char - java.lang.Character
double - java.lang.Double
float - java.lang.Float
int - java.lang.Integer
long - java.lang.Long
short - java.lang.Short
void - java.lang.Void
Explain the usage of the keyword transient?
Transient keyword indicates that the value of this member variable does not have to be serialized with the object. When the class will be de-serialized, this variable will be initialized with a default value of its data type (i.e. zero for integers).
What's the difference between the methods sleep() and wait()
The code sleep(1000); puts thread aside for exactly one second. The code wait(1000), causes a wait of up to one second. A thread could stop waiting earlier if it receives the notify() or notifyAll() call. The method wait() is defined in the class Object and the method sleep() is defined in the class Thread.
Can an inner class declared inside of a method access local variables of this method?
It's possible if these variables are final.
How could Java classes direct program messages to the system console, but error messages, say to a file?
The class System has a variable out that represents the standard output, and the variable err that represents the standard error device. By default, they both point at the system console. This is how the standard output could be re-directed:
Stream st = new Stream(new FileOutputStream("output.txt")); System.setErr(st); System.setOut(st);
How do you know if an explicit object casting is needed?
If you assign a superclass object to a variable of a subclass's data type, you need to do explicit casting. For example:
Object a; Customer b; b = (Customer) a;
When you assign a subclass to a variable having a supeclass type, the casting is performed automatically. Can you write a Java class that could be used both as an applet as well as an application?
Yes. Add a main() method to the applet.
Does it matter in what order catch statements for FileNotFoundException and IOExceptipon are written?
Yes, it does. The FileNoFoundException is inherited from the IOException. Exception's subclasses have to be caught first.
When should the method invokeLater()be used?
This method is used to ensure that Swing components are updated through the event-dispatching thread.
How can a subclass call a method or a constructor defined in a superclass?
Use the following syntax: super.myMethod(); To call a constructor of the superclass, just write super(); in the first line of the subclass's constructor.
What's the difference between a queue and a stack?
Stacks works by last-in-first-out rule (LIFO), while queues use the FIFO rule.
If you're overriding the method equals() of an object, which other method might you also consider?
hashCode()
What is Collection API?
The Collection API is a set of classes and interfaces that support operation on collections of objects. These classes and interfaces are more flexible, more powerful, and more regular than the vectors, arrays, and hashtables if effectively replaces.
Example of classes: HashSet, HashMap, ArrayList, LinkedList, TreeSet and TreeMap.
Example of interfaces: Collection, Set, List and Map.
How can you minimize the need of garbage collection and make the memory use more effective?
Use object pooling and weak object references.
There are two classes: A and B. The class B needs to inform class A when some important event occurs. What Java technique would you use to implement it?
If these classes are threads, I'd consider notify() or notifyAll(). For regular classes you can use the Observer Interface.
Is Iterator a Class or Interface? What is its use?
Iterator is an interface which is used to step through the elements of a Collection.
Read the following program:
public class test {
public static void main(String [] args) {
int x = 3;
int y = 1;
if (x = y)
System.out.println("Not equal");
else
System.out.println("Equal");
}
}
What is the result?
A. The output is “Equal”
B. The output in “Not Equal”
C. An error at " if (x = y)" causes compilation to fall.
D. The program executes but no output is show on console.
Answer: C
Does Java pass-by-reference or pass-by-value?
Java does manipulate objects by reference, and all object variables are references. However, Java doesn't pass method arguments by reference; it passes them by value.
What is the difference between private, protected, and public?
Public: accessible to all classes
Private: accessible only to the class to which they belong
Protected: accessible to the class to which they belong and any subclasses.
Access specifiers are keywords that determines the type of access to the member of a class. These are:
* Public
* Protected
* Private
* Defaults
Consider the code below:
public static void main( String args[] )
{ int a = 5;
System.out.println( cube( a ) );
}
int cube( int theNum )
{
return theNum * theNum * theNum;
}
What will happen when you attempt to compile and run this code?
It will not compile because cube is not static.
Describe the differences between the following keywords:
1. final
2. finalize
3. finally
1. final - should be used when a variable must remain constant or unchanged, which helps the compiler generate faster code.
2. finalize – called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
3. finally – is part of try, catch blocks, which is used to ensure that critical code gets executed even if an exception is thrown.
Explain the difference between StringBuilder and StringBuffer?
They are both mutable however; a StringBuilder is not synchronized whereas a StringBuffer is. A StringBuffer is said to be a mutable, thread-safe sequence of characters. Furthermore it’s like a String but can be modified.
Explain “serialization” in Java.
Quite simply, object serialization provides a program the ability to read or write whole objects to and from a raw byte stream.
What's the advantage of Serializable?
It allows you to read and write entire Java objects into streams, which greatly simplifies the process of objects exchange. The real power of serialization is the ability of Java programs to easily read and write entire objects and primitive data types, without converting to/from raw bytes or parsing clumsy text data. Anyone who has taken a modern programming class taught in a programming language such as Pascal or one of the C derivatives, has surely had the opportunity to do I/O on a text file for the purpose of storing and loading data. Parsing these files always seems to reduce to a basic set of hurdles that you must get over: Did I reach the EOF marker? Is the file pointer on top of the integer or the string? What happens when I reach the EOLN mark, and what if the marker is missing? Now consider a situation where a programming language suddenly made these problems go away? Object serialization has taken a step in the direction of being able to store objects instead of reading and writing their state in some foreign and possibly unfriendly format.
How to Make a Class Serializable?
To make a class serializable, just declare that this class implements the interface Serializable:
class Employee implements java.io.Serializable {
String lName;
String fName;
double salary;
String address;
}
How to Serialize an Object?
To serialize an object means to convert it into a set of bytes and send it to a stream. To deserialize an object means to read these bytes from a stream and recreate the instance of the received object.
To serialize an object into a stream perform the following actions:
• Open one of the output streams, for example FileOutputStream
• Chain it with the ObjectOutputStream
• Call the method writeObject() providing the instance of a Serializable object as an argument.
• Close the streams
The following example performs all these steps and creates a snapshot of the object Employee in the file called NewEmployee.ser
import java.io.*;
import java.util.Date;
public class HeadQuarterEmpProcessor {
public static void main(String[] args) {
Employee emp = new Employee();
emp.lName = "John";
emp.fName = "Smith";
emp.salary = 50000;
emp.address = "12 main street";
emp.hireDate = new Date();
FileOutputStream fOut=null;
ObjectOutputStream oOut=null;
try{
fOut= new FileOutputStream("c:\\NewEmployee.ser");
oOut = new ObjectOutputStream(fOut);
oOut.writeObject(emp); //serializing employee
System.out.println(
"An employee is serialized into c:\\NewEmployee.ser");
}catch(IOException e){
e.printStackTrace();
}finally{
try {
oOut.flush();
oOut.close();
fOut.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
What if you prefer not to serialize certain information?
If you do not want to serialize sensitive information such as salary, declare this variable using the keyword transient: transient double salary;
The values of static and transient member variables are not serialized.
What are widgets?
Widgets are the building blocks of java user interfaces.
What is a Marker Interface?
An interface with no methods. Example: Serializable, Remote, Cloneable.
What interface performs sorting?
Comparable
Why are Interfaces so importance?
Interfaces are well suited for classes, which vary in functionality but with the same method signatures.
Explain RMI and How it is useful?
RMI is a remote method invocation. Using RMI, you can work with remote objects. The function calls are as though you are invoking a local variable. So it gives you an impression that you are working really with an object that resides within your own JVM although it is somewhere else.
What’s the main use of preparedstatement?
Preparedstatements are precompiled statements. They are mainly used to speed up the process of inserting/updating/deleting especially when there is a bulk processing.
What threads will start, when you start a java program?
Finalizer, Main, Reference Handler, Signal Dispatcher.
If I write return at the end of the try block, will the finally block still execute?
Yes, even if you write return as the last statement in the try block and no exception occurs, the finally block will execute. The finally block will execute and then control resumes.
If I write System.exit(0); at the end of the try block, will the finally block still execute?
No, in this case the finally block will not execute because when System.exit(0); is executed, control immediately goes out of the program, and thus finally never executes.
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.
What is the difference between static and non-static variables?
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.
How are this() and super() used with constructors?
this() is used to invoke a constructor of the same class. super() is used to invoke a super class constructor.
Explain different ways of using threads?
Threads can be implemented two ways, by using runnable interface or by inheriting from the Thread class. The former is more advantageous because it supports multiple inheritance - in a certain way.
What is the common usage of serialization?
Whenever an object is to be sent over the network, it needs to be serialized. Moreover if the state of an object is to be saved, objects need to be serialized by converting them to a byte stream.
What are wrapper classes?
Java provides specialized classes corresponding to each of the primitive data types.
What is the default value of an object reference declared as an instance variable?
null, unless we define it explicitly.
What is the difference between an argument and a parameter?
While defining method, variables passed in the method are called parameters. While using those methods, values passed to those variables are called arguments.
What are different types of access modifiers?
public: Any thing declared as public can be accessed from anywhere.
private: Any thing declared as private can’t be seen outside of its class.
protected: Any thing declared as protected can be accessed by classes in the same package and subclasses in the other packages.
default modifier: Can be accessed only to classes in the same package.
What is UNICODE?
Unicode is used for internal representation of characters and strings that use 16bits to represent each other.
What is method overloading and method overriding?
Method overloading: When a method in a class having the same method name with different arguments is said to be method overloading.
Method overriding : When a method in a class having the same method name with same arguments, is said to be method overriding.
What is the difference between Assignment and Initialization?
Assignment can be done as many times as desired whereas initialization can be done only once.
What is casting?
Casting is used to convert the value of one type to another.
What is the difference between Integer and int?
a) Integer is a class defined in the java.lang package, whereas int is a primitive data type defined in the Java language itself. Java does not automatically convert from one to the other. b) Integer can be used as an argument for a method that requires an object, whereas int can be used for calculations.
What is synchronization?
Synchronization is the mechanism that ensures that only one thread can access resources at one time.
When should you synchronize a piece of your code?
When you expect your code will be accessed by different threads and these threads may change a particular data causing data corruption.
What is an applet?
An Applet is a dynamic and interactive program that runs inside a web page displayed by a java capable browser.
What is the lifecycle of an applet?
init() method - Can be called when an applet is first loaded
start() method - Can be called each time an applet is started.
paint() method - Can be called when the applet is minimized or maximized.
stop() method - Can be used when the browser moves off the applet’s page.
destroy() method - Can be called when the browser is finished with the applet.
How do you set security in applets?
using the setSecurityManager() method.
What is the difference between set and list?
Set stores elements in an unordered way but does not contain duplicate elements, whereas list stores elements in an ordered way but may contain duplicate elements.
What is serialization and deserialization?
Serialization is the process of writing the state of an object to a byte stream. Deserialization is the process of restoring these objects.
What is JDBC?
JDBC is a set of Java API methods for executing SQL statements. This API consists of a set of classes and interfaces to enable programs to write pure Java Database applications.
What is a stored procedure?
Stored procedure is a group of SQL statements that forms a logical unit and performs a particular task. Stored Procedures are used to encapsulate a set of operations or queries to execute on database. Stored procedures can be compiled and executed with different parameters and results and may have any combination of input/output parameters.
What is the difference between an applet and a servlet?
a) Servlets are to servers what applets are to browsers. b) Applets must have graphical user interfaces whereas servlets have no graphical user interfaces.
What is the difference between doPost and doGet methods?
a) doGet() method is used to get information, while doPost() method is used for posting information. b) doGet() requests "can’t" send large amount of information and is limited to 240-255 characters. However, doPost()requests passes all of its data, of unlimited length. c) A doGet() request is appended to the request URL in a query string and this allows the exchange is visible to the client, whereas a doPost() request passes directly over the socket connection as part of its HTTP request body and the exchange are invisible to the client.
What is the life cycle of a servlet?
Each Servlet has the same life cycle: a) A server loads and initializes the servlet by init () method. b) The servlet handles zero or more client requests through service() method. c) The server removes the servlet through destroy() method.
What loads the init() method of servlet?
Web server.
Is it possible to call servlet with parameters in the URL?
Yes. You can call a servlet with parameters in the syntax as (?Param1 = xxx || m2 = yyy).
What is Servlet chaining?
Servlet chaining is a technique in which two or more servlets can cooperate in servicing a single request. In servlet chaining, one servlet’s output is piped to the next servlet’s input. This process continues until the last servlet is reached. Its output is then sent back to the client.
How do servlets handle multiple simultaneous requests?
The server has multiple threads that are available to handle requests. When a request comes in, it is assigned to a thread, which calls a service method (for example: doGet(), doPost() and service()) of the servlet. For this reason, a single servlet object can have its service methods called by many threads at once.
What is Domain Naming Service(DNS)?
It is very difficult to remember a set of numbers(IP address) to connect to the Internet. The Domain Naming Service(DNS) is used to overcome this problem. It maps one particular IP address to a string of characters. For example, www. mascom. com implies com is the domain name reserved for US commercial sites, moscom is the name of the company and www is the name of the specific computer, which is mascom’s server.
What is a Jar file?
A Jar file allows to efficiently deploy a set of classes and their associated resources. The elements in a jar file are compressed, which makes downloading a Jar file much faster than separately downloading several uncompressed files. The package java.util. zip contains classes that read and write jar files.
How can I set a cookie in JSP?
response. setHeader(”Set-Cookie”, “cookie string”); To give the response-object to a bean, write a method setResponse (HttpServletResponse response) - to the bean, and in jsp-file:<% bean. setResponse (response); %>
How can I delete a cookie with JSP?
Say that I have a cookie called “foo, ” that I set a while ago & I want it to go away. I simply: <% Cookie killCookie = new Cookie(”foo”, null); KillCookie. setPath(”/”); killCookie. setMaxAge(0); response. addCookie(killCookie); %>
What happens if you don’t initialize an instance variable of any of the primitive types in Java?
The object references are all initialized to null in Java. However in order to do anything useful with these references, you must set them to a valid object, else you will get NullPointerExceptions everywhere you try to use such default initialized references.
Can a .java file contain more than one java class?
Yes, a .java file can contain more than one java class, provided at most, that one of them is declared as public class.
Is String a primitive data type in Java?
No, String is not a primitive data type in Java, it’s an object. They are instances of the String class defined in java.lang.package.
What are the different scopes for Java variables?
The scope of a Java variable is determined by the context in which the variable is declared. Thus a java variable can have one of the three scopes at any given point in time.
1. Instance: - These are typical object level variables, they are initialized to default values at the time of creation of object, and remain accessible as long as the object is accessible.
2. Local: - These are the variables that are defined within a method. They remain accessbile only during the course of method excecution. When the method finishes execution, these variables fall out of scope.
3. Static: - These are the class level variables. They are initialized when the class is loaded in JVM for the first time and remain there as long as the class remains loaded. They are not tied to any particular object instance.
What is the default value of local variables?
Local variables are not initialized to any default value, neither primitives nor object references. If you try to use these variables without initializing them explicitly, the java compiler will not compile the code. It will complain about the local variable not being initialized.
How many objects are created in the following piece of code?
MyClass c1, c2, c3;
c1 = new MyClass ();
c3 = new MyClass ();
Only 2 objects are created, c1 and c3. The reference c2 is only declared and not initialized.
Can main method be declared final?
Yes, the main method can be declared final, in addition to being public static.
What will be the output of the following statement?
System.out.println ("1" + 3);
It will print 13.
What will be the default values, of all the elements of an array, defined as an instance variable?
If the array is an array of primitive types, then all the elements of the array will be initialized to the default value corresponding to that primitive type. e.g. All the elements of an array of int will be initialized to 0, while that of boolean type will be initialized to false. Whereas if the array is an array of references (of any type), all the elements will be initialized to null.
Can an unreachable object become reachable again?
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.
What must be implemented by all threads?
All tasks must implement the run() method, whether they are a subclass of Thread or implements the Runnable interface.
What is Externalizable?
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).
What modifiers are allowed for methods in an Interface?
Only public and abstract modifiers are allowed for methods in an interface.
What is one alternative to inheritance?
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).
Also incorporating Interfaces into your design will allow for multiple inheritance.
What is implied when a method or field is “static”?
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. Also, 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.
What is the difference between pre-emptive 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.
What is the catch or declare rule for method declarations?
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.
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.
Can applets communicate with each other?
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.
Does Java provide any construct to find out the size of an object?
No, there is not sizeof operator in Java. So there is not direct way to determine the size of an object directly in Java.
What are checked exceptions?
Checked exceptions are those which the Java complier forces the client programmer to check. e.g. IOEXceptions are checked exceptions.
What are runtime exceptions or unchecked exceptions?
Runtime exceptions are those exceptions that are thrown at runtime because of either wrong input data or because of wrong business logic etc. These are not checked by the compiler at compile time. Unchecked exceptions are Runtime exceptions and all its subclasses.
If I want an object of my class to be thrown as an exception object, what should I do?
The class should extend from Exception class. Or you can extend your class from some more precise exception type also.
Does importing a package import the subpackages as well? e.g. Does importing com.MyTest.* also import com.MyTest.UnitTests.*?
No, you will have to import the subpackages explicitly. Importing com.MyTest.* will import classes in the package MyTest only. It will not import any class in any of it's subpackage.
Can a top level class be private or protected?
No. A top level class can not be private or protected. It can have either "public" or no modifier. If it does not have a modifier it is supposed to have a default access. If a top level class is declared private, the compiler will complain that the "modifier private is not allowed here". This means that a top level class can not be private nor protected.
How do I serialize an object to a file?
The class whose instances are to be serialized should implement an interface Serializable. Then you pass the instance to the ObjectOutputStream which is connected to a fileoutputstream. This will save the object to a file.
What is Externalizable interface?
Externalizable is an interface which contains two methods readExternal and writeExternal. These methods give you a control over the serialization mechanism. Thus if your class implements this interface, you can customize the
serialization process by implementing these methods.
What happens to static fields of a class during serialization?
There are three exceptions in which serialization does not necessarily read and write to the stream. These are
1. Serialization ignores static fields, because they are not part of any particular state.
2. Base class fields are only handled if the base class itself is Serializable.
3. Transient fields.
What is an abstract class?
Abstract class must be extended/subclassed (to be useful). It serves as a template. A class that is abstract may not be instantiated (ie, you may not call its constructor), abstract class may contain static data. Any class with an abstract method is automatically abstract itself, and must be declared as such. A class may be declared abstract even if it has no abstract methods. This prevents it from being instantiated.
What are the differences between a Checked exception and an unchecked exception?
A checked exception is any subclass of Exception (or Exception itself), excluding RuntimeException and its subclasses.
Checked exceptions forces the client programmer to deal with the possibility that the exception will be thrown at compile time.
Unchecked exceptions are RuntimeException and any of its subclasses. Class Error and its subclasses are also unchecked.
Unchecked exceptions do not caught at compile time. In fact, client programmers may not even know that the exception could be thrown. eg,StringIndexOutOfBoundsException thrown by String's charAt() method.
Checked exceptions must be caught at compile time. Runtime exceptions do not need to be. Errors often cannot be, as they tend to be unrecoverable.
Name two types of EJBs?
Enterprise JavaBeans server-side components come in two fundamentally different types: entity beans and session beans.
Basically entity beans model business concepts that can be expressed as nouns. For example, an entity bean might represent a customer, a piece of equipment, an item in inventory. Thus entity beans model real-world objects. These objects are usually persistent records in some kind of database.
Session beans are for managing processes or tasks. A session bean is mainly for coordinating particular kinds of activities. That is, session beans are plain remote objects meant for abstracting business logic. The activity that a session bean represents is fundamentally transient. A session bean does not represent anything in a database, but it can access the database.
Thus an entity bean has persistent state whereas a session bean models interactions but does not have persistent state.
Wednesday, September 26, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment