Назначение
Позволяет, не нарушая инкапсуляции, получить и сохранить во внешней памяти внутреннее состояние объекта, что бы позже объект можно было восстановить в точно таком же состоянии.
Использование шаблона в JDK
(примеры частично взяты с этого ресурса)