嗨,我正在使用 Java 中的直接缓冲区,我需要对它们进行快速内存复制。在 C 中有 memcpy 命令,在 Java Arrays 中有 Arrays.copyOf。但是没有办法使用数组代替直接缓冲区,因为我需要将它们传输到 OpenGL。
问问题
2155 次
3 回答
3
如果您的意思是“直接” ByteBuffers,那么有一个put方法可以接受其他ByteBuffer
实例,以便您可以复制。
于 2011-05-30T22:06:46.247 回答
3
您可以只使用put()
byte[] 或 ByteBuffer,这将在 Sun/Oracle JDK 中使用本机调用 memcpy。
对于直接和堆字节缓冲区put()
,使用Bits.copyFromArray()
和Unsafe.copyMemory()
方法。
于 2011-05-31T07:44:03.547 回答
1
检查System.arrayCopy这是在 java 中复制部分数组的最快方法
于 2011-05-30T22:05:26.940 回答