java io知识个人理解

java io知识

内核空间和用户空间

从安全的角度考虑,读写io操作必须在内核中进行,完成后再传到用户空间

bio

就是堵塞io,当服务器接收到客户端发出的获取文件的请求后,等待内核将文件copy到内核空间,然后再由内核空间copy到用户空间
,这个过程全称堵塞,应用会一直挂在那里,等待完成

nio

io多路复用 应用给内核发出获取文件的请求,通知内核去读取文件,然后立即返回。当内核准备好数据后,select就会立即返回。然后将数据从内核空间copy到
用户空间(堵塞)

buffer

存放数据,即容器

channel

所有的读写操作,都是在channel里进行的

selector

socket必须注册在select上,当socket状态发生改变时,selector将socket返回,再进行下一步的处理

aio

收到获取文件的请求,直接通知内核去处理,完成后,将结果返回给应用(异步)

你可能感兴趣的:(java io知识个人理解)