Могут ли два класса иметь одинаковый serialVersionUID?
Могут ли два класса иметь одинаковый serialVersionUID?

Видео: Могут ли два класса иметь одинаковый serialVersionUID?

Видео: Могут ли два класса иметь одинаковый serialVersionUID?
Видео: Java для начинающих. Урок 47: Сериализация (часть 3). Transient, serialVersionUID. 2024, Апрель
Anonim

Да, возможно, что два другой классы могут иметь в тот же serialVersionUID ценить. Но предпочитаю использовать уникальный для каждого класс . Также используйте в качестве значения на 8–10 цифр длиннее, чем на 1.

Следовательно, что такое serialVersionUID?

Проще говоря, serialVersionUID - уникальный идентификатор для классов Serializable. Это используется во время десериализации объекта, чтобы гарантировать, что загруженный класс совместим с сериализованным объектом.

Аналогично, в чем польза serialVersionUID 1l? В serialVersionUID - универсальный идентификатор версии для класса Serializable. Десериализация использует это число, чтобы гарантировать, что загруженный класс точно соответствует сериализованному объекту. Если совпадение не найдено, создается исключение InvalidClassException.

Точно так же спрашивается, нужен ли serialVersionUID?

по умолчанию serialVersionUID вычисления очень чувствительны к деталям класса, которые могут варьироваться в зависимости от реализаций компилятора, и жестяная банка таким образом, во время десериализации возникают непредвиденные исключения InvalidClassException. Следовательно, вы должны объявить serialVersionUID потому что это дает нам больше контроля.

Какова роль serialVersionUID в процессе сериализации?

В течение сериализация , среда выполнения java связывает номер версии с каждым сериализуемый класс. Этот номер называется serialVersionUID , который используется во время десериализации для проверки того, что отправитель и получатель сериализованный у объекта есть загруженные классы для этого объекта, которые совместимы с сериализация.

Рекомендуемые: