• J3 - 白起
  • 技术(I/O流)

最近在看 Netty 相关的内容,以后就会写一些和 Netty 相关技术的文章。

而 Netty 作为业界最流行的 NIO 框架之一,在开始之前就自然要全面的介绍一下 BIONIO 以及 AIO 相关的内容了。

所以在开始 Netty 之前,我就来介绍介绍 I/O 的基本体系,以此来向你们构建出 Netty 的魅力。

一、流是什么

百度概念:

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流。流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

总结就是:流就是传输,传输的内容就是字节

在 Java 中我们常说的字节流字符流其实本质就是对流传输内容的不同而划分的两种操作。字节流操作单位是字节,字符流操作单位是一个个字符。

前面说过,流是有起点和终点的。而又因为起点和终点的各不相同,流又可分为:输入流输出流

理解:

内存 -> 硬盘 = 输出流(OutputStream、Writer)

硬盘 -> 内存 = 输入流(InputStream、Reader)

对于流的操作 Java 提供了非常多的 API 操作,包位置:java.iojava.nio

因为本篇不是教大家如何使用 API 的,所以其中的使用方法就不过多的介绍了,但我岂是那种不负责任的男人

Java中的流与IO相关推荐

  1. java 中的流_Java中的流(IO

    Java中的流(IO流. java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类: 按单位可分为: 字节流         (一个字节一个字节的读取) ...

  2. java中字符流 字节流_理解Java中字符流与字节流的区别

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...

  3. java中各种流的详细使用

    http://hunulei.blogbus.com/logs/2005/07/1296309.html http://java.sun.com/docs/books/tutorial/essenti ...

  4. java中的NIO和IO到底是什么区别?20个问题告诉你答案

    摘要:NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多. 本文分享自华为云社区<jav ...

  5. 深入理解 Java中的 流 (Stream)

    个人小站,正在持续整理中,欢迎访问:http://shitouer.cn 小站博文地址:深入理解 Java中的 流(Stream)机制 最近在看<Hadoop:The Definitive Gu ...

  6. Java中Steam流的用法及使用备忘

    文章目录 Java中Steam流的用法及使用备忘 一. 流的常用创建方法 1-1 使用Collection下的 stream() 和 parallelStream() 方法 1-2 使用Arrays ...

  7. Java中的流Stream和读取器Reader及其之间的关系

    Java中的流Stream和读取器Reader及其之间的关系 简介 InputStreamReader与BufferedReader是共享字节流的关系 简介 字节流(InputStream ):Inp ...

  8. java中字符流和字节流的区别_java中字节流和字符流有哪些区别

    java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...

  9. java中nio流_Java输入输出流IO介绍(与NIO比较)

    一.Java中流的类型 根据流的方向划分:输入流,输出流 根据流的传输单位:字节流,字符流 根据流的角色划分:节点流,处理流 节点流:直接连接数据源的流 处理流:通过构造方法接收一个节点流,对节点流使 ...

最新文章

  1. HDFS 原理、架构与特性介绍--转载
  2. 为什么大多数同学宁愿吃学习的苦,也不愿意尝思考的痛?
  3. CenterOS6.5 + OneinStack + Moodel3.23
  4. 修改apk连接服务器地址,如何修改apk连接服务器地址
  5. centos 删除crontab_centos下crontab的使用
  6. (37)FPGA花样流水灯设计(第8天)
  7. Python selenium chrome 环境配置
  8. Codeforces Beta Round #1 题解
  9. Windows Phone中Map控件由浅及深
  10. 装tensorflow未果
  11. Linux根目录解析
  12. Prometheus监控系统+Grafana可视化工具搭建
  13. Markdown用法——带圆圈的数字编号
  14. 计算机网络线路故障及排查方法,计算机网络常见故障排查
  15. android4.2.2飞歌导航,智能车机新典范 飞歌G6S荣耀版导航鉴赏
  16. 华泰证券python算法工程师_华泰证券高薪诚聘 技术大牛/运维平台架构师
  17. 关于Employee 类的使用
  18. ABIDE数据集预处理项目
  19. 生日快乐祝福。我遇见你 都是人间最好的事
  20. C语言算法扩散墨水,66行C语言计算器,别忘了下载TC编译器!

热门文章

  1. 网络媒体:影响公共安全的双刃剑
  2. 怎么让服务器文件自动备份,服务器文件自动备份
  3. 小红书流量规则是什么,推荐机制解读
  4. python定点数和浮点数转换
  5. Django安装与配置教程(图解)
  6. quartz 表结构、配置文件、实现说明
  7. 诺基亚7 android 9,诺基亚Android 10系统更新,诺基亚7+的性能得到可完善
  8. linux bridge 网桥详解
  9. mouseout、mouseover和mouseleave、mouseenter区别
  10. 是LHS查询还是RHS查询?编译器有话说