代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

当序列化时,内存中的变量是否占用相同的空间?

  •  0
  • Jader Dias  · 技术社区  · 14 年前

    如果班上有 SerializableAttribute 它的对象被序列化为 BinaryFormatter ,序列化大小等于它在内存中所占的大小?

    编辑: 附加问题:有没有更好的方法来找出一个对象在内存中占据了多少空间?这个方法足够近似吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Guffa    14 年前

    不。类/结构的成员存储在内存中,并带有填充,以便在需要时(根据各自的数据类型)在偶数字边界上对齐它们。序列化数据没有这样的填充。

        2
  •  1
  •   Lucero    14 年前

    通常,序列化对象占用更多的空间,因为显式元数据也必须存储。但是,在运行进程的内存空间中也有元数据,那么如何对元数据部分进行正确的比较呢?