В Java сериализация - это процесс преобразования объекта в поток байтов для его сохранения или передачи другому месту, независимо от платформы. Интерфейс Serializable используется для обозначения класса, который может быть сериализован. Сериализация может быть использована для сохранения состояния объекта между запусками программы, для передачи состояния объекта другому приложению, и т.д.
Процесс сериализации в Java прост и автоматически обрабатывается стандартной библиотекой Java. Вот как это делается:
- Создайте класс, который вы хотите сериализовать и сделайте его реализующим интерфейс Serializable.
- Используйте ObjectOutputStream для записи объекта в поток байтов. Например:
MyClass object = new MyClass();
FileOutputStream fileOut = new FileOutputStream("file.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(object);
out.close();
fileOut.close();
- Для десериализации объекта из потока байтов используйте ObjectInputStream. Например:
FileInputStream fileIn = new FileInputStream("file.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
MyClass object = (MyClass) in.readObject();
in.close();
fileIn.close();
Объекты, которые сериализуются должны реализовать пустой конструктор, так как они должны быть воссозданы при десериализации.
Важно отметить, что сериализация не предназначена для безопасности и не должна использоваться для передачи чувствительных данных, таких как пароли или номера кредитных карт.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov