什么是序列化
以特定的方式对类实例的瞬时状态进行编码保存的一种操作,叫做对象序列化。就是将对象的这个时刻的各种属性各种值按照一定的规则变成二进制流,然后如果传输到别的jvm中,jvm可以按照规则在将二进制流反序列化成对应的对象,并且对象里面还有当时的数据和各种属性。
序列化: 将 java对象信息 转换成 二进制数据流的过程
反序列化: 将 二进制数据流 转换成 java对象信息的过程
IO操作的时候 操作的就是数据流,也就是说:进行读写的内容 必须以流的形式进行读写。
序列化的作用
主要作用就是将序列化后的对象进行网络传输,由此可以实现对象调用,分布式对象,等各种功能。
1当你想把内存中的对象写入到硬盘时 2当你想用套接字在网络上传输对象时 3当你想通过RMI调用对象时 (RMI是什么东西?):RMI总结来说就是远程调用对象,在一个jvm上调用另一个jvm的对象。
序列化的指标
1、对象序列化后的大小
一个对象会被序列化工具序列化为一串byte数组,这其中包含了对象的field值以及元数据信息,使其可以被反序列化回一个对象
2、序列化与反序列化的速度
一个对象被序列化成byte数组的时间取决于它生成/解析byte数组的方法
3、序列化工具本身的速度
序列化工具本身创建会有一定的消耗。