两种序列化区别:
JSON方式
JSON会序列化为JSON字符串
对于跨语言比较友好,比如前后端分离,用JSON做语言的桥梁
http接口用这种方式
实现Serializable接口方式
Serializable会序列化成字节流
适用于微服务之间,用RPC调用
比如两个JAVA同语言之间RPC调用。
serialVersionUID这个最好写上,不写的时候会默认生成一个,但是不自己写一个每次对类进行修改这个UID会变,导致反序列对比UID不同反序列化失败。
JAVA自带的Serializable会序列化JAVA元信息
对于序列化
序列化把对象的状态序列化,之后在网络中传输
对象的状态不包括static的成员(因为:static字段是类共享的,当该类的一个对象被序列化后,这个static变量可能会被另一个对象改变)
被static修饰和transient修饰的成员不会被序列化,比如hashmap的Node数组