Java обеспечивает (двоичную) сериализацию объектов с использованием ObjectOutputStream (и ObjectInputStream). Вы можете просто записатьObject () в поток и readObject () на другом конце. Все, что вам нужно сделать, чтобы это работало, это реализовать интерфейс Serializable.
Но вместо того, чтобы делать это вручную, вас может заинтересовать переход на один уровень вверх и использование удаленного вызова метода. С RMI вы можете вызывать методы для объектов, которые живут в другой JVM, и вся сериализация и работа в сети происходят изнутри.
И для полноты картины также существует сериализация XML-бина, если вы не можете использовать двоичный формат. Этот формат XML очень универсален (читай: многословно и безобразно), но есть некоторые популярные библиотеки (например, XStream), которые создают альтернативные сериализации XML.