有没有办法通过JNI直接指向Java数组?

use*_*369 4 c++ java java-native-interface

我需要通过JNI获得一个包含Java数组直接内存地址的指针,而不需要调用某种复制(即直接访问).

GetArrayElements返回一个指向复制数组的指针 - 我需要能够直接从本机层修改Java层上的int [].

铸造从jintArray一个int*成功返回的内存地址,但我不知道这是特别稳定...?

我能在这做什么......?

Pet*_*rey 5

您可以使用直接内存(具有本机字节顺序)的IntBuffer.在JNI中,您可以将地址用作指针.在Java中,您必须使用get()和put().