为什么Java会用到序列化与反序列化?
答:通俗来说 Java序列化是指把Java对象转换为字节序列的过程。 Java反序列化是指把字节序列恢复为Java对象的过程。
定义:序列化就是将对象转换为二进制格式的过程。对象转为二进制后,可以方便进行存储或者在网络中传输。要将对象转为二进制,首先就要用一种数据结构来描述对象,这样进行对象的网络传输的时候,发送方和接收方才能按照约定好的格式来序列化、反序列化对象。
序列化算法:json,xml,yml,Java Serialization等
JAVA的序列化中有几个注意点:
- 成员变量必须可序列化,如果成员变量中有引用对象,那么这个引用对象也必须要是可以序列化的(实现Seralizable)否则会序列化失败。
- transient关键字,可避免被序列化。使用transient关键字去修饰属性,这个
- 无法更新状态
- serialVersionUID