gpt4 book ai didi

java - 如何在 POJO 中持久保存大字符串?

转载 作者:行者123 更新时间:2023-12-02 07:14:44 25 4
gpt4 key购买 nike

如果我有一个对象的属性,它是一个大字符串(例如文件的内容 ~ 50KB 到 1 MB,可能更大),那么在 POJO 中声明这样的属性的做法是什么?我需要做的就是能够从应用程序的一层设置一个值并将其传输到另一层,而不会使对象本身变得“重”。

我正在考虑关联输入流或输出流来获取/设置值是否有意义,而不是引用字符串本身 - 这意味着当我尝试读取内容的值时,我将其作为流读取字节,而不是加载到内存中的整个大字符串......有什么想法吗?

最佳答案

您所描述的内容很大程度上取决于您对数据的预期用途。如果您以原始形式提供内容,那么可能有更有效的方法来管理它。

例如,如果您的应用有一个 Web 界面,您的应用可能只提供一个 URL,供 Web 服务器将内容流式传输给请求者。如果它是基于 CLI 的应用程序,您也许可以通过简单的文件复制来完成。但是,如果您的应用程序正在处理该文件,那么您的 POJO 可能只能保留该处理的结果,而不是原始数据本身。

如果您希望提供一种使用 POJO 并引用外部流的通用模式,我建议您在 POJO 中存储类似于 URI 的内容,该 URI 告诉您在哪里可以找到流(例如数据库中的行 ID)或文件名或 URI),而不是存储流本身的实例。这样做,您将减少打开文件句柄的数量,防止潜在的并发问题,并且能够在需要时在本地序列化这些对象,而无需复制在其他地方保存的原始数据。

关于java - 如何在 POJO 中持久保存大字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15076946/

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