从JNI函数传回一个数组而不复制它

我正在尝试使用JNI使用C ++处理大块数据但是我无法理解天气,函数SetArrayRegion将按元素复制数组元素,或者它是否可以将数据留在原位并将其返回到调用java函数。

以下文档是我一直在阅读的内容,但目前仍不清楚发生了什么。 http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html

感谢您的帮助。

通常,当您通过JNI传递数据时,它将通过JNI边界进行复制。 如果您想要一种有效的机制来将数据从本地空间传递到Java空间,那么您应该了解如何访问NIO直接字节缓冲区。 这可以提供可以在本机代码和Java代码之间共享的一部分内存。 看看GetDirectBufferAddress