Writing objects in memory to the hard disk is serialization, which is no different from general output, except that the output data is an object, not ordinary text.
Because the storage of data in memory is temporary, if you need to save the object for a long time, you must Writing to the hard disk results in serialization.
# For an object to be serialized, the class to which the object belongs must implement the Serializable interface. This interface It is an iconic interface without any fields or abstract methods. When the JVM encounters this interface, it will assign a serialized version number to the class.
4. When an object is serialized, the global variables in the object including private type variables will be written to the hard disk.5. Fields that cannot be serialized:
OutputStream ops=new FileOuptStream(path); ObjectOuptStream oos=new ObjectOutputStream(ops); Object obj=new Ojbect(); oos.writeObject(obj);
2. Deserialization operation requirements
3. Serialization version number
numbers during deserialization. If they are the same, the serialization is successful; if they are not the same, the deserialization cannot be performed.
⑵ The serialized version number is used to mark the version of the entity class. Once the entity class ismodified, if the serialized version number is not explicitly specified, the system will automatically generate it A new version number. If the two version numbers are different, they cannot be serialized. Generally, the serialization version number is explicitly set in the entity class that needs to be serialized.
⑶ Recompiling does not necessarily generate a new serialized version number. Only when the entity class changes will a new serialized version number be generated.⑷Parsing process
class file and can be deserialized; not the same, indicating that it is not generated by the current class file, the version is inconsistent, and cannot be deserialized.
⑸Desequence operation:InputStream is=new FileInputStream(path); ObjectInputStream ois=new ObjectIputStream(is); Object obj=ois.readObject();
The above is the detailed content of What is serialization? A detailed introduction to serialization. For more information, please follow other related articles on the PHP Chinese website!