Java爲什麼使用System.arraycopy來操作數組

在閱讀ArrayList源碼的過程中發現了底層在實現添加和刪除元素的時候,都使用了System.arraycopy方法。

在閱讀過System.arraycopy源碼後,發現了C中的經典複製語句。

 while(from < end)

   *(to++) = *(from++);         

arraycopy 方法是一個本地方法。

在 OpenJDK 源碼包中可以找到 openjdk6-src/hotspot/src/share/vm/prims/jvm.cpp 文件。

既然這樣的話,一切都豁然開朗,爲什麼使用arraycopy方法,因爲C在操作內存的效率遠高於Java。

所以在許多優化文檔中都能看見推薦使用arraycopy方法來批量處理數組。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章