在Java中执行I/O操作时,是使用像ObjectInputStream这样的对象数据流还是使用像DataInputStream这样的原始数据流更有效(就计算资源而言
如果使用对象数据流更有效,那么当我们考虑到与创建对象相关的开销(尽可能少)时,对象数据流是否仍然更有效?
发布于 2011-01-16 05:13:10
ObjectInputStream将更易于使用。在开始使用DataInputStream之前,我会检查一下这还不够快。DataInputStream的效率不如使用NIO/ByteBuffer,但改进相对较小,但工作量有所增加。
发布于 2011-01-16 05:23:21
如果处理得当,自定义序列化可以节省空间/带宽和cpu时间。
我建议你看看谷歌的Protocol Buffers --非常高效和可移植的序列化库。
发布于 2011-01-16 04:57:56
您可以根据流中实际存在的数据类型来选择对象或数据InputStream。如果是Java对象,则使用对象流,如果不是,则使用DataInputStream (或其他适当的对象流)。
那么你的数据流中有哪些类型的数据呢?
https://stackoverflow.com/questions/4702080
复制相似问题