`

NIO学习笔记一(概述)

    博客分类:
  • NIO
NIO 
阅读更多

      今天开始学习Java nio的知识。学习的内容来自于以下地址:

      http://tutorials.jenkov.com/java-nio/overview.html

      里面有JAVA NIO的入门文章。

      另外发现了一个关于并发学习的网站,对于学习并发是个比较好的选择,网址如下:

      http://ifeve.com/category/concurrency-translation/

      以下为chp 1的内容:

 

1、NIO组成

JAVA nio主要由如下三部分组成:

  1. Channels(管道) :第二章会提到。
  2. Buffers(缓存) :第三章会提到。
  3. Selector(管理者)  :第四章会提到

2、Channels 和 Buffers

IO 与 NIO都是从 Channel开始的。 数据可以从Channel中读入并写入到Buffer中,而从Buffer读到的数

据也可以写入到Channel中。如下图:

       Java NIO: Channels and Buffers

Java NIO: Channels read data into Buffers, and Buffers write data into Channels

 

Channel的主要实现类,涵盖了常用的文件、UDP、TCP等,主要包括以下种类:

  • FileChannel
  • DatagramChannel
  • SocketChannel
  • ServerSocketChannel

       Buffer的主要实现类,涵盖了主要的基本数据种类,如下:

  • ByteBuffer
  • CharBuffer
  • DoubleBuffer
  • FloatBuffer
  • IntBuffer
  • LongBuffer
  • ShortBuffer

3、Selectors

 Selectors允许一个线程来处理多个Channels。图形表示如下:

Java NIO: Selectors

Java NIO: A Thread uses a Selector to handle 3 Channel's

 

 

 

    

分享到:
评论

相关推荐

    javaNIO学习笔记

    ### Java NIO 学习笔记 #### 一、概述 Java NIO (Non-Blocking IO,也称为 Java New IO),是 Java 对传统 IO 模型的一次重大改进,旨在提高程序处理大量并发连接的能力。NIO 的核心组件包括 Channels、Buffers 和 ...

    Java+JDK6学习笔记

    本篇将围绕“Java+JDK6学习笔记”展开,探讨在JDK6环境下Java编程的核心知识点。 1. **JDK6概述**:JDK6是Oracle公司于2006年发布的Java平台标准版(Java SE)的一个重要版本,它的全称是Java SE 6,带来了许多新...

    Java公司培训经典学习笔记

    Java公司培训经典学习笔记是针对Java编程语言进行深入学习的一份宝贵资料,涵盖了从基础到高级的诸多知识点,旨在帮助开发者提升技能,适应企业级项目开发的需求。以下将详细阐述这些笔记中的关键点: 1. **Java...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍  《java jdk 7学习笔记》是作者多年来教学实践经验的总结...

    Java JDK 7学习笔记 完整扫描版

    **Java JDK 7学习笔记概述** Java JDK 7(Java Development Kit 7)是Java编程语言的一个重要版本,由Sun Microsystems(后被Oracle公司收购)开发,并于2011年7月28日正式发布。这个版本引入了一系列新特性、改进...

    尚硅谷JAVA基础笔记吐血整理

    “尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...

    JAVA JDK6 学习笔记

    **Java JDK6 学习笔记概述** Java JDK6(Java Development Kit 6)是Oracle公司发布的一个用于开发Java应用程序的重要工具集,包含了JRE(Java Runtime Environment)和一系列的开发和调试工具。这个版本的JDK发布...

    Java jdk1.7学习笔记pdf

    对于初学者而言,《Java JDK 1.7 学习笔记》仍然是一本不可多得的好书,能够帮助他们建立起扎实的Java基础,并为进一步学习更高版本的Java打下良好的基础。 通过本书的学习,不仅可以掌握Java的基本语法和核心概念...

    Java相关课程系列笔记之一Java学习笔记.doc

    Java学习笔记概述 Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。本笔记主要涵盖了在Java学习过程中涉及的关键知识点,包括技术基础、语言基础、面向对象...

    NIO+Netty5视频教程与Netty源码剖析视频教程

    压缩包内的文件"netty源码剖析视频教程.txt"可能是课程的详细大纲或笔记,提供了对课程内容的进一步概述,包括每个章节的重点和案例分析,是学习过程中不可或缺的参考资料。通过结合视频教程和文本资料,学习者可以...

    JVM学习笔记

    ### JVM学习笔记 #### JVM内存模型 (JMM) JVM内存模型主要分为以下几个部分: - **Java堆**:这是所有线程共享的一块区域,在虚拟机启动时创建。主要用于存放对象实例,几乎所有的对象实例都在这里分配内存。 - *...

    java学习笔记JDK6课件和课本代码

    【Java学习笔记JDK6课件与课本代码详解】 Java是一种广泛使用的面向对象的编程语言,因其跨平台、性能高效、安全稳定等特性,在企业级应用开发中占据着主导地位。JDK(Java Development Kit)是Java编程的基础,它...

    Netty4.0学习笔记系列之三:构建简单的http服务

    Netty4.0学习笔记系列之三是关于构建简单的HTTP服务的教程,这主要涉及网络编程、服务器开发以及Java NIO(非阻塞I/O)的相关知识。Netty是一个高性能、异步事件驱动的网络应用程序框架,它使得开发可伸缩且稳定的...

    我的在线教育项目学习笔记资料

    在这个名为“我的在线教育项目学习笔记资料”的压缩包中,主要包含了与Java编程相关的学习资源。我们可以从这个标题和描述中推断出,这是一份关于个人在在线教育平台上进行Java学习过程中的积累,可能包括笔记、代码...

    Mina 学习笔记(入门)

    **Mina 学习笔记(入门)** Apache Mina 是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务器端应用。它提供了一种简单的方式来处理网络协议,如TCP/IP和UDP/IP,以及SSL/TLS加密的连接。在本学习...

    java学习笔记-老师的课程笔记

    Java学习笔记是初学者探索Java编程世界的宝贵资源。这份由老师精心整理的课程笔记涵盖了Java的基础到进阶知识,旨在帮助新手快速理解并掌握这门强大的面向对象编程语言。笔记内容可能包括但不限于以下方面: 一、...

    学习笔记 java\CoreJava笔记\CoreJava_day21

    在`CoreJava_day21`的学习笔记中,主要探讨了Java中的NIO(New I/O)包及其关键类和接口,包括`ByteBuffer`、`FileChannel`以及网络编程中常用的`ServerSocket`和`Socket`等。NIO自JDK 1.4引入以来,因其高效性和...

    Java JDK 6学习笔记——ppt简体版

    本篇学习笔记将围绕Java JDK 6的关键特性、语法改进、API更新以及开发实践进行详细讲解。 1. **Java JDK 6概述** - JDK(Java Development Kit)是Java开发的核心组件,包含了Java运行环境(JRE)、编译器(javac...

Global site tag (gtag.js) - Google Analytics