我正在尝试使用JNI使用C ++处理大块数据但是我无法理解天气,函数SetArrayRegion将按元素复制数组元素,或者它是否可以将数据留在原位并将其返回到调用java函数。
以下文档是我一直在阅读的内容,但目前仍不清楚发生了什么。 http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html
感谢您的帮助。
答案 0 :(得分:4)
通常,当您通过JNI传递数据时,它将被复制到JNI边界。如果您想要一种有效的机制来将数据从本地空间传递到Java空间,那么您应该了解如何访问NIO直接字节缓冲区。这可以提供可以在本机代码和Java代码之间共享的一部分内存。请看GetDirectBufferAddress
。