无标题文章

2017-02-21  本文已影响0人  morningao

1、序列化和反序列化,为什么需要这个技术,解决什么问题

序列化是将数据转换成二进制串的过程,反序列化是将二进制串转换成数据的过程;应用场景是网络传输和数据持久化,当然大部分情况我们考虑网络传输,如:rpc,client-server。

实际应用中,如微信消息,客户端基于SDK和序列化协议来解析服务端数据,序列化协议好的话,应该既要保证消息的安全性又要保证数据的压缩比(省流量)。

常见的序列化协议有:json、xm、protobufl、java默认的序列化Serializable。

有人理解它属于tcp层的理论,我不认为这属于通信协议的范畴,虽然我也不是很懂。。。

2、对象的拷贝,除了实现cloneable接口还可以怎么做?

还可以一层一层的new;

还可以“序列化—反序列化”;

3、B+Tree索引的区间访问原理

B+Tree给每个叶子节点增加了一个指向相邻叶子节点的指针,做这个优化的目的是为了提高区间访问的性能。如上图,如果要查询18到49的所有记录,当找到18后,只需顺着节点和指针顺序遍历就可以一次性访问到所有数据节点,极大的提到了区间查询效率。

上一篇下一篇

猜你喜欢

热点阅读