The Compact Object Stream Format
Compact object streams give you flexibility. When this kind of object stream is created, it is chained to a concrete data stream that, in turn, implements the input and output of primitive types. This means that the same object stream can be used to read or write data in many formats, such as ASCII and native binary, on many types of media, such as files, strings, and XDR. This format is not self-describing; it passes information about the object’s state only. Compact object streams can interoperate with virtual streams and collectable objects.