You need to pass in the array "type" after the [ character, and before a ; character. If the type is a class, add the letter L and the fully qualified class name. If the type is a primitive, the t...more

Serializable is a tagging interface; it prescribes no methods.
It serves to assign the Serializable data type to
the tagged class and to identify the class as one which the
developer has designed ...more

You can't. As messages are associated with folders which are associated with sessions, Message objects are considered not serializable. Like threads and images you need to save the pieces that are...more

According to the API documentation for ObjectInputStream's
constructor:
The stream header containing the magic number and version number are read from the stream and verified. This method will b...more

The Beans.instantiate() method needs to be passed the proper classloader. Just passing in null is not sufficient for an applet. For instance, if your class was Foo.class, use the following:
Beans....more

A big part of EJB is that it is a framework for underlying RMI: remote method invocation. You're invoking methods remotely from JVM space 'A' on objects which are in JVM space 'B' -- possibly run...more

There are a couple of things you can do.
First, you can pipe the ObjectOutputStream into a ByteArrayOutputStream, then examine the
length of the byte array:
ByteArrayOutputStream baos = new Byte...more

There are limits, but in practice you shouldn't encounter them.
You are limited by the amount of memory your JVM can allocate to the creation and maintainence of your object. As for writing it ou...more

No. This is a common misconception.
The deserialization process does not use the object's
constructor - the object is instantiated without a constructor
and initialized using the serialized inst...more

The SUID is one of a number of things that the serialization
protocol writes to the stream in addition to the serialized
object (other things include a magic number and the fully-
qualified class...more