gpt4 book ai didi

Java非托管内存流

转载 作者:行者123 更新时间:2023-11-29 07:16:59 24 4
gpt4 key购买 nike

我正在尝试设计一个 API 以允许我的 Java 应用程序连接到专有的进程间消息传递环境。消息预先存在于非托管内存中。收到消息后,我希望有一个流来读取和写入消息。虽然我了解 JNI 的基础知识,但我正在努力了解哪些标准 Java 类可以帮助创建到非托管内存的流。

如有指点,不胜感激

问候

最佳答案

我会直接使用 ByteBuffer。您可以通过 JNI 更改地址和限制。一旦完成,您就可以读取或更改此 ByteBuffer 中的任何内容,它将更改为“非托管”大小。

ByteBuffer支持little和big endian以及所有原始类型的读写。


这样做的一种原始方法是使用 Unsafe 类。它支持在内存的随机区域访问原语(就像指针一样)在许多情况下它还减少为单个机器代码指令。 Unsafe 既不安全也不便携,如果可以使用 ByteBuffer,它是更好的选择。

关于Java非托管内存流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com