java序列化含义的理解(1)
1.在网络中传输的东西永远都是010101这样的字节。
2.Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就需要有一种可以在两端传输数据的协议。
Java序列化机制就是为了解决这个问题而产生。如果想要进行网络传输数据或者将数据保存到本个地文件里就必须将它序列化。
3.序列化:把一个对象写入“对象输出流”中的过程,就是序列化
反序列化:从“对象输入流”中读取这个对象的过程,就是反序列化
4.输入流 InputStream 和 输出流OutputStream:
输入输出流可以把你任何数据都存放在文件,或由后台服务器传送到前台客户端。
在网络中传输的东西永完都是10101这样的字节,不是对象。网络不懂你的对象,
所以你需要把你的对象通过网络传送到对方的话就必须先将你的对象转成字节byte[]
在对方收到你的字节流后,根据双方约定的协议,再将 byte[]加转成原来的对象。
这个过程就是序列化和反序列化
5.序列化的特点:
如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
6.何时需要序列化:
a.当你想把的内存中的对象保存到一个文件中或者数据库中时候;
b.当你想用套接字在网络上传送对象的时候;
c.当你想通过RMI传输对象的时候;