IO基础知识
传统的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类似
IO基础知识的更多相关文章
- IO(基础知识)
IO流类的构造方法决定是输入流还是输出流.输入流连接一个文件,它会将文件中的内容读到流里面,read方法是将流里面的内容 往外读.输出流连接一个文件,它的write方法,是将内存中的内 ...
- Java IO(1)基础知识——字节与字符
正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...
- C# 基础知识系列- 14 IO篇 文件的操作 (3)
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...
- C# 基础知识系列- 14 IO篇 流的使用
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)
在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...
- java基础知识 多线程
package org.base.practise9; import org.junit.Test; import java.awt.event.WindowAdapter; import java. ...
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
随机推荐
- random函数
Java中存在着两种Random函数: 一.java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范 ...
- css3 制作平滑过度动画
-webkit-transition(属性渐变) -webkit-transition:CSS属性(none|all|属性) 持续时间 时间函数 延迟时间 CSS属性(transition-pr ...
- opencv-原图基础上添加指定颜色
前言 项目中需要将某些区域使用不同的颜色表示出来,同时能够看到原图作为底色. 代码 #include "opencv2/highgui/highgui.hpp" #include ...
- HTML结构组成
1. 文档的类型声明 <!doctype html> h5的声明方式 作用 : 告诉浏览器当前使用的HTML版本,以便浏览器能正确解析HTML标签和渲染样式 书写位置 : 文档最开始位置 ...
- CF1096.F. Inversion Expectation(树状数组)
A permutation of size n is an array of size n such that each integer from 1 to n occurs exactly once ...
- Windows10 解决 “/”应用程序中的服务器错误
部署 ASP.NET MVC5程序时,访问网站出现 未能加载文件或程序集“698_BLL”或它的某一个依赖项.试图加载格式不正确的程序. ================= 解决办法: 1.打开IIS ...
- hdu 5183 hash表
BC # 32 1002 题意:给出一个数组 a 和一个数 K ,问是否存在数对( i , j ),使 a i - a i + 1 +……+ (-1)j - i a j : 对于这道题,一开始就 ...
- SQLyog Enterprise常用快捷键
1. SQL格式化 F12 格式化当前行所在的SQL Ctrl+F12 格式化选中的SQL Shift+F12 格式化所有SQL 2. 窗口操作 Ctrl+T 打开一个新的查询窗口 Alt+ ...
- 租酥雨的NOIP2018赛前日记
租酥雨的NOIP2018赛前日记 离\(\mbox{NOIP2018}\)只剩下不到一个月的时间辣! 想想自己再过一个月就要退役了,觉得有必要把这段时间的一些计划与安排记录下来. 就从国庆收假开始吧. ...
- Maven Dependency错误——下载失败问题解决方案
问题描述: The container 'Maven Dependencies' references non existing library '${groupid}/${artifactid}-$ ...