
java nio
kjfcpua
这个作者很懒,什么都没留下…
展开
-
IO三种方式:BIO,NIO,AIO (异步读写asynchronous IO)
jdk1.6及之前都只实现BIO 和 NIOjdk1.7开始支持AIO,即NIO 2.0在BIO阻塞模式下server端:1 new ServerSocket(int port) 监听端口2 serverSocket.accept() 阻塞式等待客户端的连接,有连接才返回Socket对象3 socket.getINputStream() 获取客户端发过来的信息流4转载 2012-12-26 21:23:52 · 9140 阅读 · 2 评论 -
NIO Selector
单一的线程使用就绪选择来同时监控大量的通道处于就绪状态的通道就会等待Selector选择选择器提供了询问通道是否已经准备好执行每个IO操作的能力就绪选择的真正价值在于潜在的大量通道可以同时进行就绪状态的检查,Selector可以轻松决定选择哪个通道真正的就绪必须由操作系统来检查,操作系统处理IO请求并通知各个线程它们的数据已经已经准备好了,而选择器封装了这种抽象转载 2012-12-26 21:25:14 · 1127 阅读 · 0 评论 -
NIO channel
channel 用于在 ByteBuffer 和socket(或文件)之间传输数据channel的实现经常使用操作系统的本地代码implement InterruptibleChannel 后标示该通道可以被中断,大多数channel都是可以被中断的面向字节的接口:ReadableByteChannel,WriteableByteChannelByteChannel接口继承转载 2012-12-26 21:26:23 · 1938 阅读 · 0 评论 -
NIO buffer
ByteBuffer buffer = ByteBuffer.allocate(int);ByteBuffer buffer = ByteBuffer.allocateDirect(int);allocate返回的其实是ByteBuffer的子类HeapByteBuffer;allocateDirect返回的其实是MappedByteBuffer的子类DirectByteBuf转载 2012-12-26 21:26:46 · 1868 阅读 · 0 评论 -
NIO channel Socket通道
Socket通道类:DatagramChannel,SocketChannel,ServerSocketChannelDatagramChannel和SocketChannel实现了ReadableByteChannel 和 WritableByteChannel接口,而ServerSocketChannel没实现ServerSocketChannel只负责监听传入的连接,创建新的转载 2012-12-26 21:25:58 · 1392 阅读 · 0 评论 -
NIO trick and trap NIO的技巧与陷阱
IO划分为两个阶段:1 等待数据就绪2 从内核缓冲区copy到进程缓冲区(从socket通过socketChannel复制到ByteBuffer)non-direct ByteBuffer: HeapByteBuffer,创建开销小direct ByteBuffer:通过操作系统native代码,创建开销大基于block的传输通常比基转载 2012-12-26 21:24:48 · 2408 阅读 · 0 评论 -
Java NIO类库Selector机制解析
http://wenku.baidu.com/view/c0ffd7fafab069dc50220194.htmlhttp://www.ibm.com/developerworks/cn/java/j-jtp0730/index.html#main转载 2012-12-31 18:16:27 · 699 阅读 · 0 评论 -
Java独占写文件的5种解决方法
// 方案1:利用RandomAccessFile的文件操作选项s,s即表示同步锁方式写RandomAccessFile file = new RandomAccessFile(file, "rws");// 方案2:利用FileChannel的文件锁File file = new File("test.txt");FileInputStream fis = new Fil转载 2013-01-07 17:03:12 · 5118 阅读 · 0 评论 -
Java NIO vs. IO
当学习了Java NIO和IO的API后,一个问题很快进入心中:我应该在何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地阐明Java NIO和IO的差异、它们的用例,以及它们如何影响您的代码设计。下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 IO NIO 面向流转载 2013-01-31 17:15:51 · 689 阅读 · 0 评论