zoukankan      html  css  js  c++  java
  • java的IO与NIO

    IO与NIO
    	IO与NIO最重要的区别是数据打包和传输的方式不同,IO以流的方式处理数据,而NIO以块的方式处理数据。
    	面向流的IO一次写入或读取一个字节的数据,可以链接多个过滤器来对字节流进行处理,操作和应用都比较简单,但是效率较低。
    	面向块的NIO一次写入或读取一个数据块,处理数据要快得多,但是没有IO简节,容易理解。
    NIO的BUFFERd
    	Buffer有3个私有属性分别是:
    		a)	postion,跟踪向缓冲区写了多少数据或者从缓冲区读了多少数据。
    		b)	limit,表示有多少数据需要取走,或者有多少数据需要写入。
    		c)	capacity,表示缓冲区的最大容量。
    NIO的CHANNEL
    	Channel是对IO流的封装,Channel是双向的,可以ByteBuffer的方式读或者写。
    NIO的异步通信
    	NIO的异步IO是一种非阻塞式的IO实现,IO通信在read时会阻塞着,直到有数据可读。但NIO不会阻塞,他通过事件的机制,当某个通道有数据可读时,会触发相应的事件来处理,不用启大量的线程来轮询读取数据。
    	其实NIO也并非完全不阻塞,Selector的select方法就是阻塞的,直到他所监听的事件中有事件被触发时才会解除阻塞。
    
    
  • 相关阅读:
    js中this的用法
    js原型链与继承(初体验)
    关于C语言指针中的p++与p+i
    react todolist
    react表单提交
    react条件渲染
    react初体验
    初次接触express
    阿里内推在线编程题(返回元素的选择器)
    模块初始化
  • 原文地址:https://www.cnblogs.com/zengxianxi/p/3618977.html
Copyright © 2011-2022 走看看