【发布时间】:2016-02-14 01:44:54
【问题描述】:
我有一个 REST 服务,它可能必须从数据库返回超过 1000,000 行。我通过打开一个输出流来做到这一点。基本上,我从 HTTP-RESPONSE 获取 printwriter 并在从数据库中获取它时将其流式传输回来,而不是将所有内容存储在内存中然后返回。
这样的:-
@Override
public void processRow(ResultSet resultSet) throws SQLException {
String data = resultSet.getString("data");
printWriter.write(data);
printWriter.flush();
}
}
我的问题是,我们是否通过在桶中冲洗来获得任何性能提升?类似于在字符串缓冲区中存储 5000 行,然后将其刷新而不是每行刷新。
【问题讨论】:
标签: java stream streaming outputstream printwriter