使用Java传输大文件(3-4 GB)时,无论是上传还是下载,合理的缓冲区大小是多少?
byte buf[] = new byte[1024]
或者
byte buf[] = new byte[5 * 1024 * 1024]
有时候,即使您使用了一个大缓冲区并将其传递给read(byte array[])方法,这也不能保证您会获得完整的5MB缓冲区。在我的测试中,我观察到每个read()调用的平均大小通常为1.5KB。从性能角度来看,这是否合理?如果有人能指向一些更详细讨论此问题的资源,我将不胜感激。