zoukankan      html  css  js  c++  java
  • netty 之 传统的阻塞io 体系回顾

    io 体系回顾:

    流的概念:

      java 程序 通过流来进行完成输入与输出的。流是生产或者消费信息的抽象,流通过java 的 输入/输出系统与物理设备相连,尽管与他们链接的物理设备不尽相同,所有流的行为具有相同的方式.这样,相同的输入输出类和方法适用于所有类型的外部设备,这意味着一个输入流能够抽象多种不同类型的输入:磁盘文件,键盘或者网络套接字,

    同样一个输出流可以输出到控制台,磁盘文件,或者相连的网络,流是处理输入与输出的一个洁净地方,例如他不需要代码理解键盘与网络的不同,java中的流的实现在java.io 包定义的类层次结构内部的

    从功能来分:输入流与输出流

    从流的结构来分:字节流,字符流

    字节流的输入流与输出流基础是InputStream 和OutputStream这两个抽象类,字节流的输入与输出操作是由这两个类的子类实现的

    字符流的输入输出基础是抽象类Reader 和Writer 

    在最底层,所有的输入与输出都是字节形式

    输入流(java 阻塞io 读取逻辑):

    读取的逻辑:
    
      1.open  a stream 
    
      2.while more information  ----->while 循环
    
      3.read information
    
      4.close thestream

    输出流(java 阻塞io 写入逻辑):

    输出的逻辑:
    
      1.open  a stream 
    
      2.while more information  ----->while 循环
    
      3.write information
    
      4.close thestream

    InputStream 类的层次:

    OutputStream  类的层次

    inputStream 与OutputStream 中FilterOutputStream  FilterInputStream属于过滤流,他们必须依赖于节点流,典型的Buffered 就是过滤流。当然了,除了这两个,其他都是节点流,节点流即能与外部打交道操作的流 ,过滤流是用来进一步封装处理节点的流,使用的是装饰者模式

    在节点流与过滤流的处理体系上,使用的是装饰者模式(很重要)  == >  new ccc(new bbb(new aaa))

    -------------------------------------------------IO 基础知识 ------------------------------------------------------

    字节流顶层父类:

    输入流:IputStream
    输出流:OutputStream

    字符流顶层父类:

    Reader
    Writer
    原创打造,多多指教
  • 相关阅读:
    POJ 3258 (NOIP2015 D2T1跳石头)
    POJ 3122 二分
    POJ 3104 二分
    POJ 1995 快速幂
    409. Longest Palindrome
    389. Find the Difference
    381. Insert Delete GetRandom O(1)
    380. Insert Delete GetRandom O(1)
    355. Design Twitter
    347. Top K Frequent Elements (sort map)
  • 原文地址:https://www.cnblogs.com/iscys/p/9656524.html
Copyright © 2011-2022 走看看