【发布时间】:2020-01-15 20:06:46
【问题描述】:
Spring Boot 需要大约 3 GB 内存来将 300 mb 有效负载转换为对象
我发送到 Spring Boot Web 应用程序的 POST 请求负载为 300 mb。但是 SpringBoot 应用程序 esp Jackson 解析器正在讨论 3gb 的内存来将请求映射到其相应的对象。
由于这个问题,我直接读取流,并且我编写了自定义解析器来解析有效负载并将其映射到对象。
JSON形式的payload如下:
{"a": "some value", "b": "this value is around 300 mb string"}
为什么 Springboot Jackson 解析器占用 3 GB 内存来将 JSON 有效负载映射到对象?我没有编写任何自定义代码,我相信 SpringBoot 内部使用 Jackson 将 JSON 映射到 Object。
SpringBoot 或 Jackson 解析器是否适合解析 300 mb 的负载?
注意:我的 JSON 负载中只有一个元素约为 300 mb。
【问题讨论】:
标签: java jackson spring-data-jpa