TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1707 2.42K
Как Java передаёт объекты по сети или сохраняет их для последующего использования?

Для этого есть сериализация. Она преобразует объект в набор байтов, чтобы его можно было передать или сохранить. Обратная операция — десериализация, которая восстанавливает объект из этих байтов.

Каждый класс, поддерживающий Serializable, имеет serialVersionUID. Это идентификатор версии. При десериализации Java проверяет, совпадает ли UID в данных с тем, что в классе. Если совпадает — объект принимается. Если нет — выбрасывается InvalidClassException.

Что будет, если класс изменился после того, как некоторые объекты уже были сериализованы?

- Добавлено поле → старые объекты работают, новое поле получает значение по умолчанию (0, null, false).
- Удалено поле → старые данные для него игнорируются.
- Изменён тип поля → ломается.
- Изменён UID → ломается.

Если UID не определить явно, JVM сгенерирует его автоматически на основе деталей класса (поля, методы, модификаторы). Даже небольшое изменение, например переименование поля, изменит UID и сделает старые данные несовместимыми.

Рекомендую всегда задавать serialVersionUID вручную. Это даёт контроль над совместимостью и избавляет от неожиданных ошибок.

👉 Java Portal
  • 👍 11
  • ❤ 5
  • 🔥 4
More from @java_iibrary
  1. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
  2. Sep 29, 2026Эволюция языков программирования 1940-е → Машинный код ⬇️ 1950-е → Ассемблер ⬇️ 1960-е → F…
  3. Sep 29, 2026Большинство Java-разработчиков используют эти термины каждый день. Удивительно, но многие…
  4. Sep 28, 2026💡 Java: не создавайте ресурсоёмкие объекты, пока они действительно не понадобятся. ✅ Иниц…
  5. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  6. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →