response.setBufferSize(16384)不起作用?
如下的代码,response.isCommitted()
判断为true
,但以我的理解,以及对默认8192 buffersize
做的实验(见后两段代码),按理超过16384
的输出字才会这样,现在10000
个字就这样了,而且我试了下,貌似超过8192
就会,就好像response.setBufferSize(16384)
没有生效,但调用response.getBufferSize()
的确是16384
。
response.setBufferSize(16384);
System.out.println("buffer size: " + response.getBufferSize()); // 16384
for (int i = 0; i < 10000; i++) {
str += "你";
}
if (response.isCommitted()) { // 会进去
System.out.println("response has committed");
}
默认bufferSize
做的实验:
System.out.println("buffer size: " + response.getBufferSize()); // 8192
for (int i = 0; i < 8191; i++) {
str += "你";
}
if (response.isCommitted()) { // <8192不会进去
System.out.println("response has committed");
}
System.out.println("buffer size: " + response.getBufferSize()); // 8192
for (int i = 0; i < 8192; i++) {
str += "你";
}
if (response.isCommitted()) { // >=8192不会进去
System.out.println("response has committed");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论