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
查看评论