Ключевое слово transient в Java используется для указания того, что поле класса не должно быть сериализовано, когда объект этого класса превращается в поток байтов.
Применение:
- Исключение из сериализации: Поля, помеченные как
transient, игнорируются стандартными механизмами сериализации (например, с использованием ObjectOutputStream).
- Сценарии использования:
- Сохранение состояния, которое легко вычислить при десериализации (например, кэшированные данные).
- Избежание сериализации конфиденциальной информации (пароли, токены).
- Исключение из сериализации ресурсов, которые не могут быть сериализованы (например, потоки ввода/вывода).
Пример:
java