Handle-Body Architecture
Like the Streams package, object streams use the handle-body pattern. This means that the classes RWObjectOutputStream and RWObjectInputStream, the handle classes, are intended to be used as-is. Object streaming behavior is extended and customized by deriving from the classes in the RWObjectOutputStreamImp and RWObjectInputStreamImp hierarchies, the body classes. Use of the handle-body pattern for streams means that they can be used as automatic variables (on the stack) and as instance variables without worrying about dynamic memory management.