java程序员-http://www.it-ebooks.info/

年轻的我,脚踩大地,仰望天空,路还很长....

博客园 首页 新随笔 联系 订阅 管理

传统的IO是阻塞的,BIO----基于流的模式,数据与Stream直接通信

NIO非阻塞的基于快的模式。数据与channel不直接交换数据,而是通过buffer进行数据交换.

基于文件的IO

基于网络的IO

=====================================================================================================

计算机中输入输出IO是计算机中除CPU外最为重要的知识。

CPU + I(输入)/O(输出) 

网络上:通信-双工,半双工,单工通信可以比较好的理解IO(同步和非同步),卫星信道的复用-频率不一样。

也是状态机的模型:输入端(采集数据I)--CPU(中央处理器-主要是调度,中断)--输出端(显示数据)

类型:文件类型,网络类型

本质:就是对字节的读取,写入

编程模型:

  1.buffer:内存缓存,之后写入磁盘,提高效率。

  2.阻塞,非阻塞 [分为两步操作:1.接受请求,2。回复请求]  详细大家可以参看epoll机制

java:

  1.java NIO:

    channel:资源,信道

    Buffer:字节数据的缓存数据结构-内存资源 -资源 ---一种数据结构(写模式和读模式共享数据)

    Selector:选择器,注册事件

     

    scatter和gather模式:

    拆分-归集

     

    专业名词:队列存储器,任务处理器,路由器,分发器,聚集器,分割器,通信总线BUS,信道,事件,事件处理器

参考:http://ifeve.com/overview/

==================================================================================================

基本的IO:

buffer:使用buffer可以提高速度,不需要一次性加载全部数据,只需加载一部分进行 ---程序缓存

proxy:使用代理,lazy机制

NIO:里面的buffer类似

 

    

posted on 2014-06-07 22:51  gstsyyb  阅读(318)  评论(0编辑  收藏  举报