Несколько хороших ссылок Обнаружен алгоритм сериализации Java
1) происходит ли десериализация в случае, если спецификатор доступа к полю
изменения ИЛИ некоторые или все методы пропадают в классе на
конец десериализации?
Сериализация происходит с использованием Reflection
Java Обнаруживает изменения в классе, используя
private static final long serialVersionUID
По умолчанию используется хеш-код. Сериализация создает один хеш-код типа long из следующей информации:
Наименование класса и модификаторы
Имена любых интерфейсов, которые реализует класс
Описания всех методов и конструкторов, кроме частных методов и конструкторов
Описания всех полей, кроме частного, статического и частного переходного процесса
Поведение по умолчанию для механизма сериализации - это классическая стратегия «лучше, чем потом сожалеть». Механизм сериализации использует suid, который по умолчанию имеет чрезвычайно чувствительный индекс, чтобы сообщить, когда класс изменился. Если это так, механизм сериализации отказывается создавать экземпляры нового класса, используя данные, которые были сериализованы со старыми классами.
2) каков механизм, с помощью которого полям присваиваются их значения
во время десериализации?