在我的服务器事务中的某处,我从某个后端作业接收到一个表示pdf文档的字节数组。
稍后在交易中,需要将pdf写入客户端。
但是目前我有那个字节数组,我想将其存储在内存中,直到需要将pdf文件写入客户端为止。
处理字节数组的最佳方法是什么?
创建一个ModelObject并将字节数组保留为纯字节数组吗?
因此,例如:
public class PdfDocument {
private byte[] bytearray;
private String pdftitle;
}
还是有比将它作为纯字节数组保留在内存中更好的Java对象? 像ByteBuffer之类的东西。
谢谢
答案 0 :(得分:0)
这取决于您如何接收数据以及数据是否以某种方式更改:
PdfDocument
对象本身只需几个字节)。但是,您应该考虑后端是否保证它以后不会更改数组。如果不是这种情况,或者为了安全起见,可以使用Arrays.copyOf
创建副本:
byte[] bytearray = Arrays.copyOf(bytearray, bytearray.length);
似乎您正在寻找更有趣的东西,但是我想您的课程在这里很好。
答案 1 :(得分:0)
变量“ bytearray”是对Array类的对象的引用。 引用仅占用很少的内存空间。