JAVA为什么arrayCopy是一个系统调用?

时间:2013-02-08 19:43:36

标签: java

实施例

short size = 1234;
    byte[] payload = {12,43, 55,123, 11, 55};

byte [] shortSize = ByteBuffer.allocate(2).putShort(size).array();
byte[] entirePayload = new byte[shortSize.length+payload.length];   

System.arraycopy(shortSize, 0, entirePayload, 0, 2);
System.arraycopy(payload, 0, entirePayload, 2, payload.length);

这是Java System调用的潜在原因吗?

1 个答案:

答案 0 :(得分:6)

或许arraycopyjava.util.Arrays上更适合,但是在Java 1.2之前没有添加该类,而在Java的最开始就有arraycopySystem似乎是下一个最好的地方。

另请注意,此方法是在本机代码中实现的,以使其更快,因此它有点特殊。