序列化是指把对象转换为字节序列的过程,我们称之为对象的序列化,就是把内存中的这些对象变成一连串的字节(bytes)描述的过程
反序列化则相反,就是把持久化的字节文件数据恢复为对象的过程
- 比较常见的场景:
- 1)、需要把内存中的对象状态数据保存到一个文件或者数据库中的时候,这个场景是比较常见的,例如我们利用mybatis框架编写持久层insert对象数据到数据库中时;
- 2)、网络通信时需要用套接字在网络中传送对象时,如我们使用RPC协议进行网络通信时;
RPC
RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议。
JSON
Java中:
-
object —> json string:
- String JSON.toJSONString(object);
-
json string —> object:
- object JSON.paraseObject(jsonString,Object.class);
-
object —> json对象
- JSONObject
序列化只能序列化对象的非静态成员变量,不能保存任何的成员方法和静态的成员变量,而且序列化保存的只是变量的值,对于变量的任何修饰符都不能保存