- 使用nio做了一个服务端接口数据。
- 客服端使用channel的transferTo方法传送一个文件到服务端,结果发现服务端接收的数据永远只有8M.
NIO零拷贝在windowns系统上传输的数据有大小限制吗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
剑杰砍死Linux 2025-12-11 06:57关注有,这问题啊,说白了就是 Windows 自家的“锅”。Java 里用 transferTo 的时候,在 Windows 底下其实走的是系统层的 SendFile 这类调用,而 Windows 内核给这种操作的单次传输大小设了个上限,差不多就是你们遇到的 8MB 左右。不是 NIO 设计有问题,是平台差异。换成 Linux 或者别的系统,这个限制要么没有,要么大得多,就不会卡得这么明显。
解决 无用评论 打赏 举报