nio与mina学习(1) nio与socket模型的关系探究

最近项目当中使用了mina框架做socket后端服务框架,虽然也写差不多了,但对nio还是存在一个很抽象的概念。接下来打算做一个nio与mina的研究。


对于需要访问操作系统底层资源的一些操作,如Thread里的yield等等的操作,在jdk的底层是c或者c++来实现的,那同样对于网络操作来说,对不同的平台,比如windows和linux来说,windows里的五种socket操作模型,linux的socket模型,nio很显然会分别支持iocp和epoll这两中模型,到jdk的源码目录结构中去看看,我们也能很清楚其确实是这样的,当然我看的是jdk7,看网上的资料,jdk4刚出的时候,windows下支持的貌似不是iocp,而是overlapped。


在jdk的目录结构中的目录jdk\src\windows\native\sun\nio\ch下存在这样一些文件


从这个过程当中我们也就不难看出了windows所使用的socket模型了。

接下来就是linux所使用的socket模型了,我们也可以通过它的目录结构来观察一下其结构

在jdk的源码目录结构jdk\src\solaris\native\sun\nio\ch下(solaris是sun公司的unix系统),我们可以发现


当然了感兴趣的话也可以进入iocp或epoll的实现中去一窥究竟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值