[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-serializatsiya-chto-oboznachaet-klyuchevoe-slovo-transient":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},972,"chto-oboznachaet-klyuchevoe-slovo-transient",30,"serializatsiya","Сериализация","📦","Что обозначает ключевое слово transient?","Модификатор `transient` указывает JVM, что помеченное поле не является частью персистентного состояния объекта и не должно сериализоваться.\n\nТипичные сценарии использования `transient`:\n\n- **Вычисляемые значения** — кэшированный хэш-код, длина коллекции, производные поля, которые проще пересчитать\n- **Ссылки на несериализуемые объекты** — подключения к БД, потоки ввода-вывода, логгеры\n- **Чувствительные данные** — пароли, токены, ключи шифрования\n\n```java\npublic class Session implements Serializable {\n    private String userId;\n    private transient Connection dbConnection;  \u002F\u002F нельзя сериализовать\n    private transient String authToken;          \u002F\u002F не должен покидать JVM\n    private transient int requestCount;          \u002F\u002F вычисляемое значение\n}\n```\n\nПосле десериализации `transient`-поля получают значения по умолчанию: `null` для объектов, `0` для числовых типов, `false` для `boolean`. Если нужно восстановить их в корректное состояние, используйте метод `readObject()`.\n\n> **На собеседовании:** назовите назначение `transient`, приведите пример (пароль или соединение) и упомяните, что после десериализации поле будет `null`\u002F`0`\u002F`false`.","","junior",[15],"serialization",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Что обозначает ключевое слово transient? — Gymterview","Модификатор `transient` указывает JVM, что помеченное поле не является частью персистентного состояния объекта и не должно сериализоваться.","Модификатор `transient` указывает JVM, что помеченное поле не является частью персистентного состояния объекта и не долж",[15,13],true]