`
xly_971223
  • 浏览: 1273818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java nio 工作原理

    博客分类:
  • java
阅读更多
说nio工作原理之前  先介绍一个概念 网络事件驱动模型
主要有这么几种模型 select poll epoll
亲爱的java用的是select
select类似监听器方式,有数据来了事件被触发 然后通知程序处理
优点是不用每个线程都在哪儿傻等(old io 方式) 只有一个线程就够了

http://www.diybl.com/course/3_program/java/javashl/20081123/152302.html

java nio buffer
这是为提高性能而创建的一系列类
old  io采用的是byte stream方式 读写内存的效率比较低
为什么低? 因为是在jvm中读写吧 猜测的
而nio是直接操作内存
看看 buffer.allocate(1024)吧 学过c的人肯定很熟悉 直接分配内存嘛 不用经过java对象这层包装 当然读写速度会快啦

Buffer接口有好些实现类 ByteBuffer、CharBuffer、DoubleBuffer FloatBuffer、IntBuffer、LongBuffer 和ShortBuffer
channel介绍
channle 是一个通道,连接port和我们的程序
port上有数据来了就通过SecetionKey通知我们的程序(SelectionKey中含有channel引用),程序中通过SelectionKey获取SocketChannel进而读取buffer中的数据
1
1
分享到:
评论

相关推荐

    Java NIO原理 图文分析及代码实现

    ### Java NIO原理 图文分析及代码实现 #### 前言 在深入探讨Java NIO之前,我们先简要回顾一下NIO的概念及其引入的原因。随着互联网的发展,越来越多的应用程序需要处理高并发的网络连接请求。传统的阻塞I/O模型在...

    Java NIO工作原理的全面分析

    Java NIO(New Input/Output)是自JDK 1.4版本开始引入的一种I/O模型,相较于传统的基于流的I/O(IO),NIO提供了一种面向块的、高效的数据...理解和掌握NIO的工作原理,能够帮助开发者编写出性能更好的Java应用程序。

    Java NIO的介绍及工作原理

    ### Java NIO的介绍及工作原理 #### 一、引言 Java NIO(New I/O)是Java 1.4版本引入的一个重要的I/O处理框架,它为Java应用程序提供了处理I/O操作的新方法。与传统的Java IO模型相比,NIO提供了一种更加高效的...

    java NIO实例

    下面将详细介绍Java NIO的主要组件和工作原理,并结合这两个文件名推测它们可能包含的内容。 1. **Selector(选择器)**:选择器是NIO的核心组件,它能够监控多个通道(Channel)的状态变化,当某个通道准备进行...

    一个java NIO的例子

    下面我们将深入探讨Java NIO的关键组件和工作原理。 1. **通道(Channel)**:通道是数据传输的途径,类似于传统的流。Java NIO提供了多种类型的通道,如FileChannel用于文件操作,SocketChannel和...

    java NIO原理和使用

    在深入了解 Java NIO 的工作原理及其使用之前,我们首先来了解一下什么是 Java NIO(New I/O)。Java NIO 是 Java SE 1.4 版本引入的一个全新的 I/O API,用来替代传统的 I/O 类型,即 java.io 包下的类。 Java NIO...

    java nio示例代码

    这些示例通常会包含简单的读写文件、服务器端与客户端的通信以及多路复用的使用,帮助初学者快速理解NIO的工作原理和实际应用。在学习过程中,你可以逐步深入,从基础的Buffer操作到复杂的Selector机制,掌握Java ...

    Java NIO 英文版

    此书对于希望深入理解Java NIO工作原理、以及如何在应用中有效利用NIO特性的开发者来说,是一本宝贵的资源。它不仅提供了理论知识,还包含了许多实际的代码示例和应用场景分析,帮助读者更好地掌握NIO的使用。

    Java.NIO资源下载资源下载

    - **Selector 基础**:介绍了 Selector 的基本概念及工作原理。 - **使用 SelectionKey**:解释了如何使用 SelectionKey 来管理 Channel 的选择状态。 - **使用 Selectors**:详细讨论了如何使用 Selector 来监听多...

    Java NIO学习资料+代码.zip

    NIO的工作原理** 在NIO中,首先创建一个或多个通道,并将这些通道注册到选择器上。然后,主线程通过选择器监听所有通道的事件,如连接就绪、数据可读、写操作就绪等。当某个通道准备就绪时,选择器会返回这个通道...

    java nio聊天室源码

    Java NIO(New IO)是Java 1.4版本引入的一种新的I/O API,它提供了非阻塞I/O操作的能力,极大地提升了Java在...通过分析和学习这个源码,开发者可以深入理解Java NIO的工作原理,并将其应用于实际的网络编程项目中。

    java nio 聊天室源码

    Java NIO(New IO)是Java 1.4版本引入的一个新模块,全称为New Input/Output,是对传统IO API的扩展...通过分析和理解这个项目,开发者不仅可以深入理解NIO的工作原理,还能掌握如何将NIO应用到实际的并发网络编程中。

    《Java NIO》Download Url

    《Java NIO》这本书主要探讨的是Java的非阻塞I/O模型,它是Java标准库提供的一种高效、低延迟的I/O处理方式。NIO代表Non-blocking Input/...书中的实例和讲解能帮助读者深入理解NIO的工作原理及其在实际项目中的应用。

    Java NIO——Selector机制解析三(源码分析)

    Selector的工作原理可以概括为以下步骤: 1. **注册Channel**:首先,我们需要创建一个Selector实例,然后将需要监控的Socket Channel或其他类型的Channel通过`Channel.register(Selector, SelectionKey)`方法向...

    Java nio源码

    Java NIO,全称为New Input/Output,是Java在1.4版本引入的一个新特性,旨在提供一种更高效、更具选择性的I/O模型。...通过分析NIO源码,我们可以深入了解其内部工作原理,进一步优化和调试相关代码。

    Java NIO原理图文分析及代码实现

    2. **Java NIO工作原理** - **线程通信**:NIO中的线程通过`wait`和`notify`等手段进行同步,确保每次上下文切换都有实际的事件处理需求。 - **双向通道**:NIO使用Channel代替了Stream,Channel是双向的,可以...

    javaNIO javaNIO

    #### 六、ByteBuffer的工作原理 1. **allocate**:通过`ByteBuffer.allocate(size)`创建一个指定大小的缓冲区。 2. **put**:通过`put(byte[] src, int offset, int length)`等方法将数据写入缓冲区。 3. **flip**:...

Global site tag (gtag.js) - Google Analytics