Java序列化的效率如何?
我们有一个名为Row的类,它表示结果集中的一行.我们需要写一个List< Row>提交文件,以便以后可以检索.
一种方法是使用Java的序列化支持. 我想最好的方法是在Row类中实现序列化.然后我们将使用List< Row>的serialize方法,以便写入文件. 我想知道,这会有多高效?与仅仅编写转换我们的List< Row>的CSV文件适配器相比,它会占用更多的空间吗?对象为CSV文件? 解决方法
这取决于Row的类型,以及您要保存的数据的大小和其他方面1. 一方面,Java序列化协议包括序列化中提到的每个类的元数据.这需要很大的空间. 另一方面: > Java序列化仅包含每个序列化一次的元数据.因此,如果序列化同一类的大量实例,则元数据成本变得无关紧要. 1 – 例如,随机数的数组与零和1的数组.在第一种情况下,Java序列化会更好,而在第二种情况下,CSV会更好. 但我认为你可能在这里关注错误的事情: >除非您生成的文件很大,否则大小可能无关紧要.磁盘空间很便宜. >你想让它成为人类可读的吗?>您希望非Java程序(包括shell脚本)可以读取它吗?>您是否需要担心Java代码的更改会引入类与序列化版本问题?>您希望能够流式传输数据吗? (写作或阅读时.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |