Java : 配列の部分コピー

配列の部分コピーを行うのに、最も効率の良い方法は何かと考えていたのですが・・・

int[] src = new int[] {1,2,3,4,5};
int[] dst = new int[6];
dst[0] = 0;
for (int i=0; i<src.length; ++i) {
  dst[i+1] = src[i];
}

みたいなのは、効率悪そうじゃないですか。せっかく配列は連続するメモリ領域に生成されるのだから、memcpyみたいに、連続する領域をごっそりコピーする方が効率的ですよね。
で、あれこれ考えていたのですが、これなんかよさそうじゃないですか?

dst[0] = 0;
System.arraycopy(src, 0, dst, 1, src.length);

中の実装がどうなっているかは確認していませんけど、

System クラスによって得られる機能には、標準入力、標準出力、およびエラー出力ストリーム、外部的に定義された「プロパティ」へのアクセス、ファイルおよびライブラリのローディング方法、配列の一部をすばやくコピーするユーティリティメソッドがあります。

なんて書いてありますし。(強調は筆者による)