sha*_*har 0 java serialization data-structures
序列化如何为包含指针(如树和链表)的数据结构工作?
我之所以怀疑这一点,是指针存储节点的内存地址.在序列化后进行反序列化时,无法保证它们将被加载到同一个内存位置.此外,如果序列化数据通过网络发送到另一个系统,则会出现同样的问题.
那么工作怎么做(如果可行的话)?
Java没有指针.Java中的变量是对一段数据的引用.从本质上讲,这意味着您可以像处理实际数据一样处理变量,Java会为您处理"指针逻辑"(例如,C,您必须处理自己的指针逻辑).
当一个类被序列化时,它的引用中包含的所有信息- 即它的所有成员变量 - 必须用它序列化.您可以将此视为递归地将每个引用扩展为引用的实际数据的副本.
在这种语言不包括指针(例如,C),实现存储和解压指针,而非数据的每个指针引用的确会导致你在你的反序列化数据的任意球序列化/反序列化的方法.(即,序列化/反序列化将是不正确的.)
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |