首页 > 解决方案 > 检查内存中的字符串或 JSON 大小

问题描述

我有一项休息服务,可以像这样在正文中发送字符串字段:

{
    "field1": "b14",
    "fieldWithContent": "there may be something big, it is xml",
    "field3": 0
}

不要问我为什么这个 fieldWithContent 里面有 xml :) 我必须验证 fieldWithContent 是否大于 1MB。我怎么能在 Java 中做到这一点?

其余端点通过 Camel 公开,但这可能具有次要重要性。

标签: java

解决方案


一个char占用2个字节的内存,可以使用如下公式:

int size = fieldWithContent.length * 2

如果是这样,size <= 1024*1024那么您的字符串占用的内存不到 1MB。

如果您想了解有关数据及其占用量的更多信息,可以查看以下链接 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html


推荐阅读