做大赛聊天软件的时候想到用nio处理通信. 看孙卫琴的中的nio部分没有看懂,可能是我智商不够吧. 后来又在IBM developerworks中找到了一个nio入门,非常不错,我这样的傻瓜都能看明白, 这篇文章分别介绍了nio原理和应用. 下面是该文章的压缩包 源代码的话在下面的网址中找 https://www6.software.ibm.com/developerworks/education/j-nio/resources.html 文件:j-nio.zip 大小:614KB 下载: 下载 本文来自ChinaUnix博客...
在JDK 1.4以前,java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,nio API作为一个基于缓冲区,并能提供非阻塞(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。 nio API主要集中在java.nio和它的subpackages中: java.nio 定义了Buffer及其数据...
桥西居 水底沙 原创 - 17,翻译 - 0,转载 - 3, 点击 - 13126, 评论 - 33, trackbacks - 2 导航 CSDNBlog 我的首页 联系作者 登录 文章 Eclipse开发 (RSS) Struts (RSS) 读书有感 (RSS) 精华文章 (RSS) 人生规划 (RSS) 收藏 Eclipse技术网站 相册 存档 2006年03月(10) 2006年02月(2) 2006年01月(3) 2005年12月(3) 2005年05月(2) 最近评论 wa: 但愿我能找到一份工作! 谢谢您! lz: ...
java 1.4中推出的java.nio(新输入/输出)软件包允许像在其他低级语言——如C语言——中一样进行输入/输出。许多开发者认为这些新功能只能进行非阻塞操作;但是,这些新功能提供许多其他新鲜有趣的特性,它们包括: 你可以记忆地图文件。 你能够直接从硬盘上,而不必一字节一字节地读写数据块。(当你在非阅读期间将数据从缓冲器中提出时,它处理低字节优先问题。) 你可以进行非阻塞异步输入/输出。 你能够锁定整个或部分文件...
Something alterative in the version of 7th of core java in the nio section. There are four features of nio in java: 1.Memory-mapped files; 2.File locking; 3.Character Set encoders and decoders; 4.Non-blocking I/O The location of the description of thirth feature: Character Sets had been changed, which is introduced earlier in this chapter. Combine the first and the second program(CRC.java and NI...
从JDK 1.4 开始,java的标准库中就包含了 nio , 即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。 说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,nio就提供了优秀的面向对象的解决方案,可以很方便地编写高性能的服务器。 话说回来,传统的Server...
在用nio模型编写网络通信程序时,发现程序每次都是按照自己的buffer的大小来输出数据,比如buffer大小是1024,那它只在buffer满后输出里面的数据,此时buffer里可能已经是存储了多条数据。而我想得到一条数据后立即读出,各位高手如何解决这个问题的?谢谢 [ 本帖最后由 gzxjxy 于 2007-12-4 17:20 编辑 ]
最近学习了非阻塞IO(nio),因为厌烦了在开发并行处理时候,阻塞IO所导致的肥服务端,因为对于每个客户连接都要产生一个线程对此进行处理,当然你 可以不这样实现,但我的前提是开发并行处理,下面是我的源码,因为是在dos命令行测试的,所以要是编写为GUI的时候,还要很多要改的东西,这也是我下 个征服的对象,当然我已经迫不及待了,下面是我花了三个晚上学习并编写的非阻塞聊天室:(供交流学习用) 客户端: import java.net.I...