您好我正在使用Java中的直接缓冲区,我需要对它们进行快速记忆。在C中有memcpy命令,在Java Arrays上我有Arrays.copyOf。但是没有办法使用Arrays而不是直接缓冲区,因为我需要将它们转移到OpenGL。
答案 0 :(得分:3)
如果您的意思是“直接”ByteBuffers,则会有一个put方法接受其他ByteBuffer
个实例,以便您可以复制。
答案 1 :(得分:3)
您可以将put()
与byte []或ByteBuffer一起使用,这将在Sun / Oracle JDK中使用本机调用memcpy。
对于直接和堆字节缓冲区put()
使用Bits.copyFromArray()
和Unsafe.copyMemory()
方法。
答案 2 :(得分:1)
检查System.arrayCopy这是在java中复制部分数组的最快方法