The UnicastRemoteObject class defines a non-replicated remote
object whose references are valid only while the server process is
alive. The UnicastRemoteObject class provides support for
point-to-point active object references (invocations, parameters,
and results) using TCP streams.
Objects that require remote behavior should extend RemoteObject,
typically via UnicastRemoteObject. If UnicastRemoteObject is not
extended, the implementation class must then assume the
responsibility for the correct semantics of the hashCode, equals,
and toString methods inherited from the Object class, so that they
behave appropriately for remote objects.