【发布时间】:2016-06-01 03:59:33
【问题描述】:
我有一个 7Gig 文件要在 2 个场景中使用 JAVA NIO 发送:
首先是客户端发送文件,我将缓冲区分配为 500MB,速度很快,只需 30 秒
其次是服务器将是一个发送文件的服务器,我仍然使用 500MB 作为我的缓冲区,但我花了将近 30 分钟来发送文件,但是当我减少缓冲区分配时它改善了性能直到我到达 1MB 缓冲区分配并且我花了 1 分钟发送文件。
但是在第一种情况下,我也降低了它,但它只是降低了发送文件的性能。
谁能解释一下为什么会这样?
【问题讨论】:
-
什么是服务器?什么是客户端?在哪里?读/写字节源代码?我们需要更多细节。
-
如果您通过 TCP 套接字发送,任何超过 1MB 的缓冲区大小都是过度杀伤力。发布一些代码:两种情况下的发送和接收代码。
-
矫枉过正是什么意思?
标签: java byte buffer nio filechannel