为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕森王 2021-12-01 15:18:44
在我的服务器事务中的某个地方,我从某个后端作业接收到一个表示 pdf 文档的字节数组。稍后在交易中需要将 pdf 写入客户端。但目前我有那个字节数组,我想将它存储在内存中,直到需要将 pdf 文件写入客户端。处理字节数组的最佳方法是什么?创建一个模型对象并将字节数组作为普通字节数组保留在那里?所以例如像这样:public class PdfDocument {    private byte[] bytearray;    private String pdftitle;}或者有没有比将它作为普通字节数组保存在内存中更好的 Java 对象?像 ByteBuffer 或其他东西。谢谢
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

这取决于您接收数据的方式以及它是否以某种方式更改:

  1. 听起来您已经从后端获得了字节数组。在这种情况下,我认为您的简单类将是将它保存在内存中的最有效方法,因为它不会消耗大量额外的内存(PdfDocument对象本身只有几个字节)。

  2. 但是,您应该考虑后端是否保证以后不会更改数组。如果不是这种情况,或者如果您想安全,您可以创建一个副本Arrays.copyOf

    byte[] bytearray = Arrays.copyOf(bytearray, bytearray.length);

看起来您正在寻找更花哨的东西,但我想您的课程在这里非常好。


查看完整回答
反对 回复 2021-12-01
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

变量“bytearray”是对 Array 类对象的引用。引用占用很少的内存空间。


查看完整回答
反对 回复 2021-12-01
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信