Встречается на собеседованиях • сегодня

Зачем нужна сериализация

Сериализация преобразует объект в последовательность байтов для передачи или хранения, а десериализация восстанавливает объект обратно.

Основные цели:

  • Сохранение состояния — например, в файл или БД.
  • Передача данных — между процессами или по сети (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`) должны совпадать.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы