Сериализация и десериализация в Java

Что такое фильтр ввода-вывода и как его использовать в Java?...

Интерфейс маркера

Интерфейс Serializable является «маркерным» интерфейсом. Это означает, что у него нет методов или полей, а просто «маркирует» класс как возможность сериализации. Когда виртуальная машина Java (JVM) встречает класс, который «помечен» как Serializable во время процесса сериализации, виртуальная машина предположит, что безопасно писать в поток. Все это происходит автоматически для программиста. Ниже приведены хорошо известные интерфейсы Marker.

Интерфейс Serializable является «маркерным» интерфейсом. Это означает, что у него нет методов или полей, а просто «маркирует» класс как возможность сериализации. Когда виртуальная машина Java (JVM) встречает класс, который «помечен» как Serializable во время процесса сериализации, виртуальная машина предположит, что безопасно писать в поток. Все это происходит автоматически для программиста. Ниже приведены хорошо известные интерфейсы Marker....

Сериализация объекта

Десериализация объекта

Сериализация и переменные

Переменные экземпляра:

Эти переменные сериализуются, поэтому во время десериализации мы вернем сериализованное состояние.

Статические переменные:

Эти переменные не сериализуются, поэтому во время десериализации статическое значение переменной будет загружено из класса. Но любая статическая переменная, которая предоставляется при инициализации класса, сериализуется. Однако в обычных случаях, когда вы укажете значение статической переменной в основном классе во время выполнения, не будет сериализовано.

Переходные переменные:

Переходные переменные не сериализуются, поэтому во время десериализации эти переменные будут инициализированы соответствующими значениями по умолчанию.

Переменные суперкласса:

Если суперкласс также реализовал интерфейс Serializable, то эти переменные будут сериализованы, иначе он не будет сериализовать переменные суперкласса. При десериализации Java Virtual Machine (JVM) запускает конструктор по умолчанию в суперклассе и заполняет значения по умолчанию. То же самое произойдет для всех суперклассов.

Источник: http://net-informations.com/Java/cJava/serialization.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector