今天开始学习Java nio的知识。学习的内容来自于以下地址:
http://tutorials.jenkov.com/java-nio/overview.html
里面有JAVA NIO的入门文章。
另外发现了一个关于并发学习的网站,对于学习并发是个比较好的选择,网址如下:
http://ifeve.com/category/concurrency-translation/
以下为chp 1的内容:
1、NIO组成
JAVA nio主要由如下三部分组成:
- Channels(管道) :第二章会提到。
- Buffers(缓存) :第三章会提到。
- Selector(管理者) :第四章会提到
2、Channels 和 Buffers
IO 与 NIO都是从 Channel开始的。 数据可以从Channel中读入并写入到Buffer中,而从Buffer读到的数
据也可以写入到Channel中。如下图:
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: A Thread uses a Selector to handle 3 Channel's
相关推荐
### Java NIO 学习笔记 #### 一、概述 Java NIO (Non-Blocking IO,也称为 Java New IO),是 Java 对传统 IO 模型的一次重大改进,旨在提高程序处理大量并发连接的能力。NIO 的核心组件包括 Channels、Buffers 和 ...
本篇将围绕“Java+JDK6学习笔记”展开,探讨在JDK6环境下Java编程的核心知识点。 1. **JDK6概述**:JDK6是Oracle公司于2006年发布的Java平台标准版(Java SE)的一个重要版本,它的全称是Java SE 6,带来了许多新...
Java公司培训经典学习笔记是针对Java编程语言进行深入学习的一份宝贵资料,涵盖了从基础到高级的诸多知识点,旨在帮助开发者提升技能,适应企业级项目开发的需求。以下将详细阐述这些笔记中的关键点: 1. **Java...
《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍 《java jdk 7学习笔记》是作者多年来教学实践经验的总结...
**Java JDK 7学习笔记概述** Java JDK 7(Java Development Kit 7)是Java编程语言的一个重要版本,由Sun Microsystems(后被Oracle公司收购)开发,并于2011年7月28日正式发布。这个版本引入了一系列新特性、改进...
“尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...
压缩包内的文件"netty源码剖析视频教程.txt"可能是课程的详细大纲或笔记,提供了对课程内容的进一步概述,包括每个章节的重点和案例分析,是学习过程中不可或缺的参考资料。通过结合视频教程和文本资料,学习者可以...
**Java JDK6 学习笔记概述** Java JDK6(Java Development Kit 6)是Oracle公司发布的一个用于开发Java应用程序的重要工具集,包含了JRE(Java Runtime Environment)和一系列的开发和调试工具。这个版本的JDK发布...
对于初学者而言,《Java JDK 1.7 学习笔记》仍然是一本不可多得的好书,能够帮助他们建立起扎实的Java基础,并为进一步学习更高版本的Java打下良好的基础。 通过本书的学习,不仅可以掌握Java的基本语法和核心概念...
Java学习笔记概述 Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。本笔记主要涵盖了在Java学习过程中涉及的关键知识点,包括技术基础、语言基础、面向对象...
### JVM学习笔记 #### JVM内存模型 (JMM) JVM内存模型主要分为以下几个部分: - **Java堆**:这是所有线程共享的一块区域,在虚拟机启动时创建。主要用于存放对象实例,几乎所有的对象实例都在这里分配内存。 - *...
【Java学习笔记JDK6课件与课本代码详解】 Java是一种广泛使用的面向对象的编程语言,因其跨平台、性能高效、安全稳定等特性,在企业级应用开发中占据着主导地位。JDK(Java Development Kit)是Java编程的基础,它...
Netty4.0学习笔记系列之三是关于构建简单的HTTP服务的教程,这主要涉及网络编程、服务器开发以及Java NIO(非阻塞I/O)的相关知识。Netty是一个高性能、异步事件驱动的网络应用程序框架,它使得开发可伸缩且稳定的...
在这个名为“我的在线教育项目学习笔记资料”的压缩包中,主要包含了与Java编程相关的学习资源。我们可以从这个标题和描述中推断出,这是一份关于个人在在线教育平台上进行Java学习过程中的积累,可能包括笔记、代码...
**Mina 学习笔记(入门)** Apache Mina 是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务器端应用。它提供了一种简单的方式来处理网络协议,如TCP/IP和UDP/IP,以及SSL/TLS加密的连接。在本学习...
Java学习笔记是初学者探索Java编程世界的宝贵资源。这份由老师精心整理的课程笔记涵盖了Java的基础到进阶知识,旨在帮助新手快速理解并掌握这门强大的面向对象编程语言。笔记内容可能包括但不限于以下方面: 一、...
在`CoreJava_day21`的学习笔记中,主要探讨了Java中的NIO(New I/O)包及其关键类和接口,包括`ByteBuffer`、`FileChannel`以及网络编程中常用的`ServerSocket`和`Socket`等。NIO自JDK 1.4引入以来,因其高效性和...
本篇学习笔记将围绕Java JDK 6的关键特性、语法改进、API更新以及开发实践进行详细讲解。 1. **Java JDK 6概述** - JDK(Java Development Kit)是Java开发的核心组件,包含了Java运行环境(JRE)、编译器(javac...