zoukankan      html  css  js  c++  java
  • 详解 NIO流

    在观看本篇博文前,建议先观看本人博文 —— 《详解 IO流》

    NIO流:

    首先,本人来介绍下什么是NIO流:

    概述

    Java NIO ( New IO )是从 Java 1.4 版本开始引入的一个新的 IO API 。
    可以替代标准的 Java IO API 。
    NIO 与原来的 IO 有同样的作用和目的,但是使用的方式完全不同
    NIO 支持面向缓冲区的、基于通道IO 操作
    NIO 将以更加高效的方式进行文件的读写操作

    那么,现在,本人来展示下 IO流 和 NIO流之前的区别

    IO NIO
    面向 面向缓冲区
    阻塞IO(BlockingIO) 即:BIO 非阻塞IO(NonBlockingIO) 即:NIO
    (无) 选择器(Selectors)

    (在本篇博文中,本人主要讲解第一点区别,至于剩下两点,将在本人之后的博文中进行讲解)

    那么,现在,本人来通过两张图来解释下 什么叫做:IO面向流 和 NIO面向缓冲区

    IO流
    在这里插入图片描述

    NIO流
    在这里插入图片描述


    Java NIO 系统的核心在于:通道 (Channel)缓冲区(Buffer)
    通道表示打开到 IO 设备 ( 例如:文件、套接字 ) 的连接
    若需要使用 NIO 系统
    需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区
    然后操作缓冲区对数据进行处理

    结论
    Channel 负责传输Buffer 负责存储

    那么,本人现在就通过两篇博文来讲解下这两个知识点:


    首先是 缓冲区(Buffer)

    请观看本人博文 —— 《详解 缓冲区(Buffer 抽象类)》


    然后是 通道 (Channel)
    请观看本人博文 —— 《详解 通道 (Channel 接口)》


    最后本人再来讲解下 Paths类 和 Files类
    请观看本人博文 —— 《详解 Paths类 与 Files类》

  • 相关阅读:
    第十次作业
    第八次作业
    作业七--1
    作业五
    作业六
    作业四
    作业一
    作业三
    作业2
    jsp第一次作业
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12418765.html
Copyright © 2011-2022 走看看