Java的DataInputStream的readByte()比readInt()更快吗?

时间:2018-04-17 09:01:57

标签: java performance network-programming datainputstream dataoutputstream

后台:我目前正在创建一个应用程序,其中两个Java程序使用DataInputStreamDataOutputStream通过网络进行通信。 在每次通信之前,我想发送一个指示正在发送什么类型的数据,因此程序知道如何处理它。我想为此发送一个整数,但是一个字节有足够的可能组合。

所以我的问题是,Java DataInputStream readByte()readInt()更快?

另外,另一方面,Java的DataOutputStream writeByte()writeInt()还要快吗?

1 个答案:

答案 0 :(得分:0)

如果一个字节足以满足您的数据需求,那么readByte和writeByte确实会更快(因为它读/写的数据更少)。虽然因为两种情况下数据的大小都非常小,但它不会有明显的差异 - 1对4字节。

如果您有大量数据来自流,那么使用readByte或readInt将不会产生速度差异 - 例如,调用readByte 4次而不是readInt 1次。只需使用一个,取决于您期望的数据类型以及使您的代码更容易理解的原因。无论如何你必须阅读整篇文章:)