English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Сериализация — это процесс сохранения Java-объекта в виде последовательности байт, которая включает данные объекта и информацию о типе объекта и типах данных, хранящихся в объекте. Сериализация — это процесс преобразования значений/состояний Java-объекта в байты для их передачи через сеть или сохранения. С другой стороны, десериализация — это процесс преобразования байт-кода в соответствующий Java-объект.
Моментальные переменные — это переменные, значения которых не сериализуются в процессе сериализации. При десериализации этой переменной мы получим значение по умолчанию для этой переменной.
private transient <member-variable>;
import java.io.*; class EmpInfo implements Serializable { String name; private transient int age; String occupation; public EmpInfo(String name, int age, String occupation) { this.name = name; this.age = age; this.occupation = occupation; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("Имя:" + "\n"); sb.append(this.name + "\n"); sb.append("Возраст:" + "\n"); sb.append(this.age + "\n"); sb.append("Профессия:" + "\n"); sb.append(this.occupation); return sb.toString(); } } // класс main public class TransientVarTest { public static void main(String args[]) throws Exception { EmpInfo empInfo = new EmpInfo("Adithya", 30, "Java разработчик"); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("empInfo")); oos.writeObject(empInfo); oos.close(); ObjectInputStream ois = new ObjectInputStream(new FileInputStream("empInfo")); EmpInfo empInfo1 = (EmpInfo)ois.readObject(); System.out.println(empInfo1); } }
Результат вывода
Имя: Возраст: Adithya Профессия: Java разработчик