数据复制是一种高频功能,JDK提供了一种高效的API来实现它。System.arrayCopy()函数是native函数,通常native函数的性能优于普通函数。因此,在软件开发中,应尽可能调用native函数。
ArrayList和Vector大量使用Systemm.arayCopy操作数据,特别是同一数组中元素的移动和不同数组之间元素的复制。
arraycopy的本质是让处理器用一个指令来处理一个数组中的多个记录,这有点像汇编语言中的串操作指令(LODSB、LODSW、LODSB、STOSB、STOSW、STOSB),只需指定头指针,然后开始循环,即执行指令,指针向后移动一个位置,循环多少次操作数据。