Tomcat的Http11NioProtocol协议使用Java NIO技术实现高性能Web服务器。本文通过分析Http11NioProtocol源码来学习Java NIO的使用。从中可以了解到阻塞IO和非阻塞IO的配合,NIO的读写操作以及Selector.wakeup的使用。...
分类:
编程语言 时间:
2015-02-23 09:40:15
阅读次数:
448
简单的Mina客户端代码MinaSimpleClient.java: package com.bypay.mina.client; import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apach...
分类:
其他好文 时间:
2015-02-22 15:41:31
阅读次数:
190
Java NIO是在jdk1.4开始使用的,它既可以说成“新IO”,也可以说成非阻塞式I/O。下面是java NIO的工作原理: 由一个专门的线程来处理所有的IO事件,并负责分发。 事件驱动机制:事件到的时候触发,而不是同步的去...
分类:
编程语言 时间:
2015-02-15 21:57:42
阅读次数:
255
1.??? 引言? ?? I/O流或者输入/输出流指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。新的输入/输出(NIO)库是在JDK 1.4中引入的。NIO弥补了原来的I/O的不足,它在标准Java代码中提供了...
分类:
其他好文 时间:
2015-02-15 12:17:02
阅读次数:
202
If you want to make your first example fasterFileChannel inChannel = new FileInputStream(fileName).getChannel();ByteBuffer buffer = ByteBuffer.allocat...
分类:
编程语言 时间:
2015-02-14 22:36:13
阅读次数:
183
我们要澄清一点:这三个方法都是ByteBuffer的抽象基类Buffer定义的方法,ByteBuffer只是继承了它们。
****************************************************
其次,你要理解缓冲区的概念,就是Buffer的意义:缓冲区是特定基本类型元素的线性有限序列。除内容外,缓冲区的基本属性还包括容量、限制和位置:
缓冲区的容量 是它所包...
分类:
编程语言 时间:
2015-02-13 18:38:44
阅读次数:
191
之前在项目组时,写银行接口时,老是不太明白大端和小端模式会带来什么影响,今儿有空,正好把它给弄明白了。代码如下,有详细的注释:package com.io;import java.io.DataOutputStream;import java.io.File;import java.io.FileI...
分类:
编程语言 时间:
2015-02-13 18:16:41
阅读次数:
175
通道之间的数据传输 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。? transferFrom()? FileChannel的transferF...
分类:
编程语言 时间:
2015-02-13 14:56:00
阅读次数:
178
网络编程之TCP编程
前面已经介绍过关于TCP协议的东西,这里不做赘述。Java对于基于TCP协议的网络通信提供了良好的封装,Java使用socket对象来代表两端的通信窗口,并通过Socket产生IO流来进行网络通信。说白了,玩基于Socket的网络编程无非就是使用ServerSocket创建一个服务器,然后使用socket进行通信,如果复杂一点呢,在加入多线程操作,用NIO代替IO来实现非阻...
分类:
其他好文 时间:
2015-02-11 16:38:01
阅读次数:
146
package?com.server;
import?java.net.InetSocketAddress;
import?java.nio.charset.Charset;
import?org.apache.mina.core.service.IoAcceptor;
import?org.apache.mina.filter.codec.ProtocolCodecFilte...
分类:
Web程序 时间:
2015-02-11 11:08:01
阅读次数:
257