哪些JVM不支持direct java.nio.ByteBuffer?
(在Java 1.4+中)表示支持直接字节缓冲是可选特性。我很好奇哪些JVM供应商/风格不支持它?JNI库是否应该始终为managed ByteBuffers编码,并将direct ByteBuffers降级为优化哪些JVM不支持direct java.nio.ByteBuffer?,java,java-native-interface,nio,bytebuffer,Java,Java Native Interface,Nio,Bytebuffer,(在Java 1.4+中)表示支持直接字节缓冲是可选特性。我很好奇哪些JVM供应商/风格不支持它?JNI库是否应该始终为managed ByteBuffers编码,并将direct ByteBuffers降级为优化 谢谢我不知道哪些JVM实现/不实现direct ByteBuffers。但从某种意义上说,这并不是特别相关。。。因为总是有可能一些供应商会推出一个新的JVM,通过支持/不支持direct ByteBuffers来改变这个等式 JNI库是否应该始终为managed ByteBuffer
谢谢我不知道哪些JVM实现/不实现direct ByteBuffers。但从某种意义上说,这并不是特别相关。。。因为总是有可能一些供应商会推出一个新的JVM,通过支持/不支持direct ByteBuffers来改变这个等式 JNI库是否应该始终为managed ByteBuffers编码,并将direct ByteBuffers降级为优化 这取决于你的目标
- 如果您的目标是实现最大的可移植性,那么您的JNI代码不应该假设直接字节缓冲区是可用的
- 如果您的目标是实现最高性能,那么您的代码可以假定direct ByteBuffers始终可用(如果不可用,则中断)。或者,您可以拥有两个不同的JNI库(或相同库的条件编译变体),Java端在运行时根据平台对直接ByteBuffers的支持进行选择