后台:我目前正在创建一个应用程序,其中两个Java程序使用DataInputStream
和DataOutputStream
通过网络进行通信。
在每次通信之前,我想发送一个指示正在发送什么类型的数据,因此程序知道如何处理它。我想为此发送一个整数,但是一个字节有足够的可能组合。
所以我的问题是,Java DataInputStream
readByte()
比readInt()
更快?
另外,另一方面,Java的DataOutputStream
writeByte()
比writeInt()
还要快吗?
答案 0 :(得分:0)
如果一个字节足以满足您的数据需求,那么readByte和writeByte确实会更快(因为它读/写的数据更少)。虽然因为两种情况下数据的大小都非常小,但它不会有明显的差异 - 1对4字节。
如果您有大量数据来自流,那么使用readByte或readInt将不会产生速度差异 - 例如,调用readByte 4次而不是readInt 1次。只需使用一个,取决于您期望的数据类型以及使您的代码更容易理解的原因。无论如何你必须阅读整篇文章:)