Как десериализация находит SerialVersionUid - PullRequest
1 голос
/ 21 января 2020

, поскольку serialVersionUid имеет статус c static, что означает, что он не сериализуем. Из того, что я понимаю, когда десериализация происходит до того, как объект возвращается в предыдущее состояние, в котором он находился, serialVersionUid сравнивается с классом один, и если он равен, процесс завершается успешно, в противном случае выдается исключение.

Но как это сделать? случиться? Как сериализация узнает, какой serialVersionUid искать, поскольку он не сохранил его? Или этот serialversionuid сохраняется в каком-то заголовке в процессе сериализации, а затем извлекается оттуда?

Заранее спасибо за помощь!

1 Ответ

1 голос
/ 21 января 2020

serialVersionUID - это специальная (последняя) переменная stati c, которая используется во время сериализации (в отличие от стандартных полей stati c, которые не сериализуются).

Вот хорошее объяснение: https://howtodoinjava.com/java/serialization/serialversionuid/

...