【发布时间】:2013-05-09 15:29:30
【问题描述】:
或者我是否必须有一个调用 env->NewDirectByteBuffer(buffer, size) 的 JNI 辅助函数?
【问题讨论】:
-
你看过 sun.misc.unsafe 吗?它允许您直接与内存交互。
-
我确实看过,但没有看到使用 sun.misc.unsafe 创建直接字节缓冲区的方法。我确实找到了一种创建 DirectByteBuffer 的方法,它是通过反射。使用 java.lang.Class.getDeclaredConstructor 创建一个 Constructor 对象,setAccessable 为 true 并使用适当的参数调用 newInstance。有点笨拙,但您不必编写任何 JNI 代码。
标签: java jvm bytebuffer