Встречается на собеседованиях • сегодня
Зачем нужна сериализация
Сериализация преобразует объект в последовательность байтов для передачи или хранения, а десериализация восстанавливает объект обратно.
Основные цели:
- Сохранение состояния — например, в файл или БД.
- Передача данных — между процессами или по сети (RPC, REST API).
- Кэширование — сериализованные объекты можно хранить в Redis.
Пример с Serializable:
java
import java.io.*;
class User implements Serializable {
private String name;
private int age;
text
public User(String name, int age) {
this.name = name;
this.age = age;
}}
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
User user = new User("Alice", 30);
text
// Сериализация
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("user.dat"))) {
oos.writeObject(user);
}
// Десериализация
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.dat"))) {
User restoredUser = (User) ois.readObject();
System.out.println(restoredUser.getName()); // Alice
}
}}
text
**Важно:**
- Поля с `transient` не сериализуются.
- Для JSON/XML используют библиотеки (Jackson, Gson).
- Версии класса (`serialVersionUID`) должны совпадать.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы