
Java.NIO
王晓斌
这个作者很懒,什么都没留下…
展开
-
【Java.NIO】java.nio包中主要的类
java.nio包提供了了支持非阻塞通信的类。原创 2014-12-07 16:13:18 · 2128 阅读 · 0 评论 -
【Java.NIO】NIO就绪处理之OP_WRITE
转自: http://blog.csdn.net/zhouhl_cn/article/details/6582435写就绪相对有一点特殊,一般来说,你不应该注册写事件。写操作的就绪条件为底层缓冲区有空闲空间,而写缓冲区绝大部分时间都是有空闲空间的,所以当你注册写事件后,写操作一直是就绪的,选择处理线程全占用整个CPU资源。所以,只有当你确实有数据要写时再注册写操作,并在写完以后转载 2014-12-13 19:09:51 · 3171 阅读 · 0 评论 -
【Java.NIO】NIO的长连接及NIO的内存泄漏
转自: http://blog.csdn.net/zhouhl_cn/article/details/6565319使用NIO进行socket编程时,需要SelectionKey key将chanel和selector关联,selector负责注册到其上的channel的就绪选择。下面的两行代码经常用到:key.attach(attachment);key.at转载 2014-12-13 19:25:11 · 3832 阅读 · 0 评论 -
【Java.NIO】API —— Channel接口 —— ServerSocketChannel类
java.nio.channelspublic abstract class ServerSocketChann extends AbstractSelectableChannel implements NetworkChannelServerSocketChannel从SelectableChannel中继承了configureBlocking()和register()方法。S原创 2014-12-07 21:01:31 · 823 阅读 · 0 评论 -
【Java.NIO】API —— Channel接口 —— SocketChannel类
java.nio.channelspublic abstract class SocketChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, NetworkChannelSocketChannel可看作是Socket原创 2014-12-07 21:54:58 · 1689 阅读 · 0 评论 -
【Java.NIO】API —— Channel接口 —— DatagramChannel类
java.nio.channelspublic abstract class DatagramChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, MulticastChannelDatagramChannel是一个能原创 2014-12-07 22:12:18 · 1038 阅读 · 0 评论 -
【Java.NIO】API —— Channel接口
Java NIO的通道类似流stream,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的通道可以异步地读写通道中的数据总是先读到一个Buffer,或者总是要从一个Buffer中写入java.nio.channels.Channel接口只声明了两个方法:java.nio.channelspublic interfac原创 2014-12-07 20:22:18 · 1345 阅读 · 0 评论 -
【Java.NIO】API —— Buffer接口
java.nio包提供了Buffer API,使得Java程序可以直接控制和运用缓冲区。java.niopublic abstract class Buffer extends Object所有的缓冲区都有以下属性:capacity - 表示该缓冲区可以保存多少数据,该值不为负且指定后保持不变limit - 不为负且不大于capacity;为不能读写的第一个元素的索引值;原创 2014-12-07 19:27:18 · 1983 阅读 · 0 评论 -
【Java.NIO】Java NIO中的阻塞 V.S. 非阻塞
从JDK1.4版本开始,引入了非阻塞的通信机制。服务器程序接受客户连接,客户程序建立与服务器的连接,以及服务器程序和客户端程序收发数据的操作都可以按非阻塞的方式进行。服务器程序只需要创建一个线程,就能完成同时与多个客户通信的任务。线程阻塞线程在运行中会因为某些原因而阻塞,所有处于阻塞状态的线程的共同特征是:放弃CPU,暂停运行,只有等到导致阻塞的原因消除,才能恢复运行;或者原创 2014-12-07 14:15:06 · 2565 阅读 · 0 评论 -
【Java.NIO】NIO就绪处理之OP_ACCEPT
转自: http://blog.csdn.net/zhouhl_cn/article/details/6582420OP_ACCEPT的处理与OP_CONNECT基本一样,服务端监听,并注册OP_ACCEPT事件后,就已准备好接受客户端的连接了[java] view plaincopyServerSocketChannel转载 2014-12-13 19:07:09 · 2338 阅读 · 0 评论 -
【Java.NIO】NIO就绪处理之OP_CONNECT
转自: http://blog.csdn.net/zhouhl_cn/article/details/6568893连接就绪是所有就绪选择中最简单的,对它的处理也很简单。当客户端调用connect()并注册OP_CONNECT事件后,连接操作就会就绪。[java] view plaincopySocketChannel c转载 2014-12-13 19:04:53 · 3351 阅读 · 0 评论 -
【Java.NIO】Channel —— FileChannel类
Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FIleChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。原创 2014-12-07 22:15:03 · 743 阅读 · 0 评论 -
【Java.NIO】Selector,及SelectionKey
java.nio.channelspublic abstract class Selector extends Object implements CloseableSelector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。使用Select原创 2014-12-07 23:48:34 · 20255 阅读 · 9 评论 -
【Java.NIO】SelectionKey,***监听的事件***
java.nio.channelspublic abstract class SelectionKey extends ObjectSelectionKey对象是用来跟踪注册事件的句柄。在SelectionKey对象的有效期间,Selector会一直监控与SelectionKey对象相关的事件,如果事件发生,就会把SelectionKey对象加入到selected-keys集合中原创 2014-12-07 23:53:51 · 8010 阅读 · 0 评论 -
【Java.NIO】从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(一)
MeshVS_Mesh使用说明: 在绘制各种点云数据时,经常需要绘制点云的网格(栅格)。 Open Cascade为绘制网格提供了一个专门的AIS对象:MeshVS_Mesh,在官方的Samples中没有该类的使用示例,在Draw模块中,可以看到该类的一些使用方法,但很少,而且限于display,没有selection的使用。 在项目中,我原来使用的是个继承自AIS_Inter转载 2010-05-09 11:54:00 · 2059 阅读 · 1 评论 -
【Java.NIO】从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)
在1中我们完成了数据源的创建,现在可以利用DataSource来创建网格对象了。 成员函数 Standard_EXPORT void AddBuilder (const Handle(MeshVS_PrsBuilder)&Builder, const Standard_Boolean TreatAsHilighter=Standard_False) 我们需要为Me转载 2010-05-09 17:39:00 · 1297 阅读 · 0 评论 -
【Java.NIO】从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(三)
<br />OOC采用了引用计数和句柄的内存管理方式,在OCC的FoundationClasses模块中,文件 Handle_Standard_Transient.hxx, Handle_Standard_Transient.cxx Standard_Transient_proto.hxx Standard_Transient_proto.cxx 实现了引用计数类和句柄类。<br /> <br /> <br />在句柄类Handle_Standard_Transient的成员函数中, Assign主要完成转载 2010-07-14 13:34:00 · 1185 阅读 · 3 评论 -
【Java.NIO】NIO操作类型与就绪条件
转自: http://blog.csdn.net/zhouhl_cn/article/details/6567877使用NIO编程时,对NIO就绪选择的理解,是NIO编程的关键。NIO与传统IO的区别是提供了就绪选择的能力,为原来的阻塞的IO提供了非阻塞的能力,从而为我们提供了用少量的线程数量同时为大量的连接通信的可能。 1、操作类型 NIO的就转载 2014-12-13 18:17:12 · 1235 阅读 · 0 评论 -
【Java.NIO】
原创 2014-12-07 20:41:25 · 896 阅读 · 0 评论