在内存中存储字节数组的最佳方法是什么

在我的服务器事务中的某个地方,我从某个后端作业接收到一个表示 pdf 文档的字节数组。

稍后在交易中需要将 pdf 写入客户端。但目前我有那个字节数组,我想将它存储在内存中,直到需要将 pdf 文件写入客户端。

处理字节数组的最佳方法是什么?

创建一个模型对象并将字节数组作为普通字节数组保留在那里?

所以例如像这样:


public class PdfDocument {

    private byte[] bytearray;

    private String pdftitle;

}

或者有没有比将它作为普通字节数组保存在内存中更好的 Java 对象?像 ByteBuffer 或其他东西。


谢谢


慕森王
浏览 162回答 2
2回答

梦里花落0921

这取决于您接收数据的方式以及它是否以某种方式更改:听起来您已经从后端获得了字节数组。在这种情况下,我认为您的简单类将是将它保存在内存中的最有效方法,因为它不会消耗大量额外的内存(PdfDocument对象本身只有几个字节)。但是,您应该考虑后端是否保证以后不会更改数组。如果不是这种情况,或者如果您想安全,您可以创建一个副本Arrays.copyOf:byte[] bytearray = Arrays.copyOf(bytearray, bytearray.length);看起来您正在寻找更花哨的东西,但我想您的课程在这里非常好。

繁花不似锦

变量“bytearray”是对 Array 类对象的引用。引用占用很少的内存空间。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java