Object Serialization and Remote Method Invocation . If we had to choose between them, Object Serialization is the feature we prefer. It's simple, powerful, and it does quite well what it was apparently intended to do.
Persistence is at the heart of the matter.
If you've been programming in Java or some other object-oriented language in recent years, you're well acquainted with the fact that, in order to have your objects available for use, one has to instantiate them. Depending on how many objects you typically have in your programs, and how complicated it is to set them all up correctly, this can be burdensome, especially if your program is frequently stopped and restarted. Like we said, it's simple to use. In our example we use one for output to a file, but it's not specifically important at all. You can similarly read these recordings back and instantiate the recorded objects.