所以说我有这段代码,它可以将字符串流回具有数百万行数据的客户端。每次写入时的所有字符串都会被保留,从而影响 java 内存吗?如果是这样,为什么在我的情况下会被拘留或不被拘留?
我真的不知道我是否应该在这里使用一个字符串生成器来附加我要写的所有东西,然后在最后写它们,或者保持原样
该查询将返回数百万行
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(response.getOutputStream()))) {
writer.write("[");
jdbcTemplate.query(sql, new Object[]{name, age},
rs -> {
try {
writer.write("{\"id1\":" + rs.getInt("id1") + ",");
writer.write("\"id2\":" + rs.getInt("id2") + "}");
} catch (IOException e) {
log.log(Level.ERROR, e);
}
});
writer.write("]");
} catch (IOException e) {
throw e;
}