【发布时间】:2014-10-16 03:57:33
【问题描述】:
Java servlet 返回 JSON 对象。
response.setContentType("application/json");
response.getWriter().write(json.toString());
JSON 对象包含从大于 50 MB 的表(数据库)中获取的数据。
在运行时,servlet 抛出此错误:
java.lang.OutOfMemoryError: Java heap space
似乎问题出在写入 json 数据时。服务器无法为字符串分配大小> 50 MB 的连续内存。
我无法解决此问题。如何从 Servlet 发送巨大的 JSON 对象?
【问题讨论】:
-
为什么这么大?你不能把它分成许多更小的吗?我想在修复内存问题之后,这可能会遇到超时问题...
-
流
json。将大量数据复制到内存中是一种幼稚的方法,而且根本无法扩展。