Что будет делать при сериализации коллекции объектов, каждый из которых содержит ссылку на другой объект в коллекции? - PullRequest
0 голосов
/ 01 августа 2011

Итак, все объекты сериализуются, но каждый из них содержит ссылку на другой объект (того же типа) в коллекции. Я думаю, что я должен назвать его временным, сохранить строку, которая может быть использована для получения объекта снова после десериализации, а затем восстановить его в этот момент. В таком случае, я бы сделал это в перезаписанном методе readObject? Если это объяснение имеет смысл, кто-нибудь может помочь? Спасибо.

1 Ответ

1 голос
/ 02 августа 2011

Нет необходимости делать это. Сериализация Java может обрабатывать циклические ссылки. ObjectInputStream и ObjectObjectStream отслеживают объекты, которые они уже обработали, чтобы предотвратить бесконечные циклы сериализации. Это может привести к утечке памяти, если вы долго держитесь за потоки.

...