![]() |
1
13
使用流而不是将整个实体作为字符串更有效,因为后者意味着
如果您以流的形式处理响应,那么实际上您要做的是一次处理N个字节。这意味着您可以在远程服务器仍在发送下一段数据时开始处理第一个响应段。因此,作为一种访问方法,这更有意义 如果 您的用例允许您在收到数据时对其进行处理。 但是,如果您出于任何原因需要将整个响应作为字符串,那么流方法的所有效率与您没有任何关系——因为即使您以片段形式读取响应,您仍然需要等待整个响应——并将其全部包含在单个字符串中——然后才能处理它。 只有当您有一个用例,在这个用例中您可以在拥有整个响应主体之前开始处理响应时,流的使用效率才对您可用。 |
![]() |
2
4
整个过程的内存效率并不高。如果从流中读取数据并将其放入字符串中,则只需将进程分成两部分,这样httpclient类就不会注意到它。 如果您确实需要整个字符串,那么可以忽略该警告。然后由您来确定每个请求不会占用太多内存,这样服务器就不容易被DoS攻击击倒。 |
![]() |
3
1
你的问题混淆了这一点。 如果您绝对需要整个响应作为一个字符串,那么就这样做, 但如果你能摆脱它,就用溪流吧。 当您将整个响应加载到一个字符串中时,整个响应主体会同时出现在内存中。 使用流,一次只有一小部分响应保存在内存中。 文档说明,尤其是在同时处理多个大型请求时,将整个请求体加载到字符串中需要大量的内存。 |
![]() |
4
0
如果你分析成
|
![]() |
Abhishek · angular中json对象的动态头和内容解析 6 年前 |
![]() |
App2015 · c中的http客户端后异步# 6 年前 |
![]() |
Mohsen · 将图片上载到oData web服务 7 年前 |
![]() |
Hunt · 单例httpclient与创建新httpclient请求 7 年前 |
|
ek0 · 使用在java中发送https请求。pem文件 7 年前 |