JavaNIO由以下几个核心部分组成:ChannelsBuffersSelectors虽然JavaNIO中除此之外还有很多类和组件,但在我看来,Channel,Buffer和Selector构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其..
分类:
编程语言 时间:
2017-07-03 21:15:28
阅读次数:
214
1 简单介绍 Xmemcached是一个高性能的基于java nio的memcachedclient。在经过三个RC版本号后。正式公布1.10-final版本号。 xmemcached特性一览: 1、高性能 2、支持完整的memcached文本协议,二进制协议将在1.2版本号实现。 3、支持JMX, ...
分类:
编程语言 时间:
2017-07-01 18:23:18
阅读次数:
211
Java NIO 管道是2个线程之间的单向数据连接。 Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 举个例子: ...
分类:
编程语言 时间:
2017-06-27 23:28:30
阅读次数:
227
直接缓冲区与非直接缓冲区: 非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中。可以提高效率 非直接缓冲区: 直接缓冲区: 代码示例: ...
分类:
编程语言 时间:
2017-06-27 00:58:08
阅读次数:
215
缓冲区(Buffer): 一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类。Java NIO 中的 Buffer 主要用于与 NIO 通道进行交互,数据是从通道读入缓冲区,从缓冲区写入通道中的。 Buffer 就像一个数组,可以保存多个相同类 ...
分类:
编程语言 时间:
2017-06-26 20:07:58
阅读次数:
167
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 Java NIO 和 ...
分类:
编程语言 时间:
2017-06-26 19:04:25
阅读次数:
193
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChanne... ...
分类:
其他好文 时间:
2017-06-25 23:09:40
阅读次数:
264
一.NIO中的几个基础概念 在NIO中有几个比较关键的概念:Channel(通道),Buffer(缓冲区),Selector(选择器)。 1. Channel通道就是通向什么的道路,为某个提供了渠道。在传统IO中,我们要读取一个文件中的内容,通常是像下面这样读取的: 这里的InputStream实际 ...
分类:
编程语言 时间:
2017-06-23 15:52:46
阅读次数:
235
阻塞IO和非阻塞IO: 阻塞IO:在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write()调用将会阻塞直至数据能够写入。换句话说,当你发了一个请求(或方法调用)之后,必须等待,直到程序返回结果,这段期间不能干其他事情。Everything is in sequence ...
分类:
编程语言 时间:
2017-06-23 13:06:17
阅读次数:
206
Java NIO DatagramChannel Java NIO DatagramChannel是可以发送和接收UDP数据包的通道。由于UDP是一种无连接网络协议,因此您不能默认读取和写入DatagramChannel其他通道。而是发送和接收数据包。 打开DatagramChannel 打开一个D ...
分类:
编程语言 时间:
2017-06-22 13:24:43
阅读次数:
159