json - 计算序列化 x 兆字节文件所需内存的公式
问题描述
如何计算序列化 5 mb 文本的 json 对象需要多少堆内存?
如果这很重要,我正在使用 kotlin 中的 fasterxml.jackson 库
解决方案
这个问题很广泛,主要取决于您为类中的属性选择的数据类型POJO
。例如,假设您有十个int
属性或十个BigInteger
属性,您可以选择日期Calendar
类型或long
,等等。如果文件大小是5mb
,我假设它应该包含一些对象列表。在这种情况下,您可以创建包含对象的小JSON
文件,100
并在运行时测量大小。您可以计算每种类型的平均大小POJO
并将其乘以JSON
给定类型的文件中的项目数。公式可能如下所示:
在哪里:
t
- 不同POJO
类型的数量。- a i
i-th
POJO
-运行时对象的平均大小。 - n i -
i-th
POJO
反序列化后的对象数。
看:
推荐阅读
- javascript - 在打字稿中使用这个关键字
- mysql - 使用 str_to_date() 将文本作为日期插入时出现“截断不正确的值”错误
- hash - 哈希表中出现主集群或辅集群怎么办
- sql - 从日期范围获取连续的月份和天数?
- java - PaintComponent 不渲染图像?
- javascript - 当想要在元素之前添加第 n 个 chide 无法为我编码时
- java - 我们如何在 n*n 棋盘上标记障碍物
- docker - 如何在devcontainer上传递--device?
- c# - 从 uwp 用户控件返回一个值
- html - @media screen 根本没有为我的班级做任何事情