飞道的博客

对象流与序列化

516人阅读  评论(0)

1.Java提供了对象流(ObjectInputStream、ObjectOutputStream)——用以自动序列化对象并传输对象

输出:ObjectOutputStream

       a. 当用对象流输出一个对象时会先自动解析对象中的成员;

       b. 然后自动将各个成员序列化成一个个字节数组;

       c. 然后将各数组按照成员的定义顺序拼接成一个完整的字节数组,最后用该数组传递;

输入:ObjectInputStream

       a. 当然输出的时候ObjectOutputStream可定会给对象本身以及每个对象成员做一定的身份标识;

       b. 身份标识其实就是数据的Java类型(还原对象的时候必须要知道Java类型)、以及对象的大小(必须要知道读多少个字节才能刚好把该对象读完);

       c. 对象输入流就可以根据这些完备的信息从六中还原Java对象;

       d. 底层就是先将完整的序列化对象保存在一个字节数组中,然后根据这些信息解析数组,并还原出一个完整的Java对象;

       e. 那些身份标识其实就是序列化和反序列化的协议了,必须遵守协议才能保证序列化后能正确地反序列化;

转载:https://blog.csdn.net/xiyuan1223/article/details/103903650
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场