零拷贝介绍
零拷贝是从操作系统角度看的,是没有CPU拷贝
零拷贝不是不需要拷贝,而是减少不必要的CPU拷贝次数
主要是指计算机操作的过程中,CPU不需要为数据在内存之间的拷贝消耗资源 ,也就是说缓冲区之间没有数据是重复的
零拷贝是网络编程的关键,很多性能优化都离不开它
零拷贝的优势
- 减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务
- 减少内存带宽的占用
- 通常零拷贝技术还能够减少用户空间和操作系统内核空间之间的上下文切换
- 减少CPU缓存伪共享以及无CPU校验和计算
传统IO
示例代码
File file = new File("test.txt");
RandomAccessFile raf = new RandomAccessFile