首頁 > Java > java教程 > `myList.toArray(new MyClass[myList.size()]) 與 myList.toArray(new MyClass[0]):哪個在 Java 中提供更好的效能?

`myList.toArray(new MyClass[myList.size()]) 與 myList.toArray(new MyClass[0]):哪個在 Java 中提供更好的效能?

Mary-Kate Olsen
發布: 2024-11-28 09:16:12
原創
254 人瀏覽過

`myList.toArray(new MyClass[myList.size()]) vs. myList.toArray(new MyClass[0]): Which Offers Better Performance in Java?`

toArray 與陣列初始化的效能影響

myList.toArray(new MyClass[myList.size()]) 或myList.toArray( new MyClass[0]) 提供了更好的效能,引起了Java 開發人員的好奇。雖然第二種方法看起來更簡潔,但創建時省略空數組的假設可能並不總是成立。

基準結果

闡明這個問題,使用 Java HotSpot 8 進行了微基準測試。下面顯示的結果表明,違反直覺的toArray(new MyClass[0]) 方法始終如一優於對應的toArray(new MyClass[myList.size()]):

說明

Java 虛擬機器(JVM) 與JIT編譯器採用最佳化這使他們能夠有效地創建和初始化適當大小的陣列。手動建立數組時,這些最佳化不可用。

結論

基於部落格文章智慧數組中提供的基準測試結果和進一步分析對於Ancients來說,顯然myList.toArray(newmyList MyClass[0]) 是專注於效能的情況下所建議的方法。 JVM 的最佳化有效消除了空數組創建開銷,從而提高了效能。

以上是`myList.toArray(new MyClass[myList.size()]) 與 myList.toArray(new MyClass[0]):哪個在 Java 中提供更好的效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板