我在尋找我的應用程序做的最好的方式,現在我想知道:陣列字節或字節緩衝區,什麼是快
我通過讀取接收到一個字節數組(byte [])的InputStream。然後我必須做一些處理,所以我將這個數組作爲方法的參數傳遞。 來自C++語言,因爲我必須儘快做這種治療,並且很多時候,我想知道是否按值傳遞字節數組可能不會導致問題。
是否值得創建一個ByteBuffer對象來傳遞對我的方法的引用而不是值?
謝謝你的幫助和建議。
我在尋找我的應用程序做的最好的方式,現在我想知道:陣列字節或字節緩衝區,什麼是快
我通過讀取接收到一個字節數組(byte [])的InputStream。然後我必須做一些處理,所以我將這個數組作爲方法的參數傳遞。 來自C++語言,因爲我必須儘快做這種治療,並且很多時候,我想知道是否按值傳遞字節數組可能不會導致問題。
是否值得創建一個ByteBuffer對象來傳遞對我的方法的引用而不是值?
謝謝你的幫助和建議。
一般來說,使用原始類型會更快,因爲它需要更少的內存來存儲數據。
因此,我會建議保留字節數組解決方案。這當然取決於你打算怎樣處理它:)
在Java數組中是對象,因此實際上將引用變量的副本傳遞給此對象。
傳遞數組的C++中的IIRC等價於將指針傳遞給第一個元素。
傳遞一個byte[]
引用就像傳遞一個有序對象引用。將不會複製數組。它是不值得環繞ByteBuffer
。
別擔心,你沒有通過它的價值。 – njzk2