序列化和反序列化
2021-01-30 本文已影响0人
HACKL
1、Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只用JVM处于运行时,这些对象才可能保存,即这些对象的生命周期不会比JVM的声明周期更长。但在现实应用中,就可能要求JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象,Java序列化能够帮我们实现该功能。
2、对象序列化是一个用于将对象状态转换为字节流的过程,可以将其保存到磁盘文件中或通过网络发送到任何其它程序,java中的序列化通过实现Serializable接口体现;
3、使用java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再讲这些字节组装成对象。必须注意的是,对象序列化保存的是对象的‘状态’,即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。
4、除了在持久化对象时会用到对象序列化之外,当时用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化。Java序列化API为处理对象序列化提供了一个标准机制。