2013-02-01 54 views
0

我在尋找我的應用程序做的最好的方式,現在我想知道:陣列字節或字節緩衝區,什麼是快

我通過讀取接收到一個字節數組(byte [])的InputStream。然後我必須做一些處理,所以我將這個數組作爲方法的參數傳遞。 來自C++語言,因爲我必須儘快做這種治療,並且很多時候,我想知道是否按值傳遞字節數組可能不會導致問題。

是否值得創建一個ByteBuffer對象來傳遞對我的方法的引用而不是值?

謝謝你的幫助和建議。

+0

別擔心,你沒有通過它的價值。 – njzk2

回答

0

一般來說,使用原始類型會更快,因爲它需要更少的內存來存儲數據。

因此,我會建議保留字節數組解決方案。這當然取決於你打算怎樣處理它:)

1

在Java數組中是對象,因此實際上將引用變量的副本傳遞給此對象。

傳遞數組的C++中的IIRC等價於將指針傳遞給第一個元素。

1

傳遞一個byte[]引用就像傳遞一個有序對象引用。將不會複製數組。它是不值得環繞ByteBuffer