java - Java序列化是缩小内存占用的工具吗?

标签 java performance memory serialization

Java 中的序列化是否总是 必须缩小用于保存对象结构的内存?还是序列化可能会产生更高的成本?

换句话说:序列化是一种缩小 Java 中对象结构内存占用的工具吗?


编辑
我完全知道序列化的目的是什么。但是您知道,工具可能会被滥用。我的问题是,它是否是减少内存使用的好工具。

那么您能想象出什么原因,为什么内存使用量应该增加/减少? 在大多数情况下会发生什么?

最佳答案

否...序列化是一种将对象状态表示形式写入或读取为字节数组的方法。它不是替代的内存中表示。一个对象的序列化形式可能会也可能不会比它在 JVM 内部消耗更多的字节;通常它会相当可比。在极少数情况下,它可能会更多,有时一个对象的状态可以以一种比在堆上消耗更少字节的方式完全序列化。但不能回答它不是“缩小内存占用的工具”的问题。

关于java - Java序列化是缩小内存占用的工具吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919400/

相关文章:

java - GAE @Persistent(valueStrategy = IdGeneratorStrategy.SEQUENCE) 不生成序列号

c# - 大量不必要的变量会导致 C# 中的性能问题吗?

c++ - 直接内存访问,使用指向地址的指针

c++ - ofstream - 需要在 close() 操作后删除对象句柄吗?

c++ - 在 Windows 上检测进程内存注入(inject)(反黑客)

java - StreamTokenizer 中可能为 'look ahead' 吗?

java - 如何模拟 junit 测试的结果元数据

java - jsoup : Extract Tags between two <img>

performance - Python any() + 生成器表达式

sql-server - 使用 LINQ 根据 Id 列表按顺序选择多行