java - 检查内存中的字符串或 JSON 大小
问题描述
我有一项休息服务,可以像这样在正文中发送字符串字段:
{
"field1": "b14",
"fieldWithContent": "there may be something big, it is xml",
"field3": 0
}
不要问我为什么这个 fieldWithContent 里面有 xml :) 我必须验证 fieldWithContent 是否大于 1MB。我怎么能在 Java 中做到这一点?
其余端点通过 Camel 公开,但这可能具有次要重要性。
解决方案
一个char占用2个字节的内存,可以使用如下公式:
int size = fieldWithContent.length * 2
如果是这样,size <= 1024*1024
那么您的字符串占用的内存不到 1MB。
如果您想了解有关数据及其占用量的更多信息,可以查看以下链接 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
- 另一个有用的链接: Java 中对象的内存消耗是多少?
- 另一个: 在 Java 中计算对象的大小
推荐阅读
- nvidia - 错误:在 Ubuntu 上运行 nvidia deepstream 5.0 SDK
- sql - 选择大于特定值的第一个值
- java - Scanner 对象有一个类属性,而不是在代码初始化中
- javascript - Reactjs 功能组件中是否有 setState() 的同步替代方案
- excel - 选择过滤值并将选择应用于第二个工作簿中的不同过滤器
- javascript - 在 DOM 更新后运行的 React 钩子
- python - 使用断开连接的标准输入启动 Python 子进程
- python - 由于 su 访问,在 python 中使用 sendevent 到 USB 连接的手机速度很慢
- jsf - 如果 Myfaces 作为 Widlfy 上的模块安装,则 Ear 部署失败
- javascript - 在javascript中更改具有不同持续时间的文本