什么是序列化?在计算机科学中,序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。与之相对应的,是反序列化(Deserialization),即将序列化后的数据恢复为原来的对象状态。
在面向对象编程的世界里,对象是我们完成任务的有力工具,但是它们却不能在网络上传输、在程序中持久化存储、在进程间通讯。于是序列化就成为了一种比较常用的手段。序列化可以说是程序员最常使用的一种手段,但是它的道路却不好走。
序列化的过程中,我们要考虑到多个方面,比如数据的稳定性(如果出现了额外字符怎么办)、数据的加密(不能让数据清晰易见)、数据的压缩(过长的数据很容易被卡住网格),最后还要考虑到隐私数据的处理。
序列化在很多领域中都扮演着重要角色,比如Java的序列化、Netty的IO通讯,还有C#的数据持久化等。一个程序员有了优秀的序列化概念,程序也就更加地完美了。