1.传统的socket: 阻塞式通信模式 tcp连接: 与服务器连接时 .必须等到连接成功后 才返回 .
udp连接: 客户端发送数据 ,必须等到发送成功后返回 .
每建立一个 Scoket连接时, 同事创建一个新线程对该 Socket进行单独通信(采用阻塞式通信 )
这种方式具有很高的响应速度,并且控制起来也很简单,在连接数较少的时候非常有效,但是如果
对每一个连接都产生一个线程的无疑...
分类:
其他好文 时间:
2014-07-24 23:31:17
阅读次数:
598
最近发现系统中出现了很多 IOException: Connection reset by peer 与 ClosedChannelException: null深入看了看代码, 做了些测试, 发现 Connection reset 会在客户端不知道 channel 被关闭的情况下, 触发了 eve...
分类:
编程语言 时间:
2014-07-24 00:51:37
阅读次数:
390
直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁的使用,而且也可能导致OutOfMemoryError异常出现,在JDK1.4中新加入了NIO类,引入了一种基于通道与缓冲区的I/O方式,它可以使用Native函数库直接分配堆外内存,然后..
分类:
其他好文 时间:
2014-07-23 21:15:26
阅读次数:
228
不知大家是否见过这样一种让人“眼花缭乱”的位域操作, int read = 0 << 1; int write = 0 << 2; int connect = 0<<3; 最典型的就是jdk nio里的SelectionKey了,当你判断一个selectionkey所感兴趣的操作时,你不...
分类:
其他好文 时间:
2014-07-22 08:25:36
阅读次数:
201
NIO引入了三个概念:Buffer 缓冲区Channel 通道selector 选择器1、java.io优化建议操作系统与Java基于流的I/O模型有些不匹配。操作系统要移动的是大块数据(缓冲区),这往往是在硬件直接存储器存取(DMA)的协助下完成的。I/O类喜欢操作小块数据——单个字节、几行文本。...
分类:
其他好文 时间:
2014-07-22 00:04:34
阅读次数:
416
上周末的时候,朋友约好去KTV,鉴于我这种不怎么听歌的孩子伤不起啊,灵机一动就把我的酷狗歌单导出来了,XML文件嘛,内容太多,我只想要歌名足已。于是写了一个java去输出歌名。
岂料我受到了挫伤,scanner.hasNextLine()一直为false,于是我百思不得姐啊,经过调试发现,Scanner内部有java.nio.charset.UnmappableCharacterExce...
分类:
移动开发 时间:
2014-07-22 00:01:33
阅读次数:
315
importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.nio.B...
分类:
其他好文 时间:
2014-07-21 00:24:26
阅读次数:
243
Connector是Tomcat最核心的组件之一,负责处理一个WebServer最核心的连接管理、Net IO、线程(可选)、协议解析和处理的工作。一、连接器介绍在开始Connector探索之路之前,先看看Connector几个关键字NIO:Tomcat可以利用Java比较新的NIO技术,提升高并....
分类:
其他好文 时间:
2014-07-19 16:16:42
阅读次数:
277
Connector是Tomcat最核心的组件之一,负责处理一个WebServer最核心的连接管理、Net IO、线程(可选)、协议解析和处理的工作。一、连接器介绍在开始Connector探索之路之前,先看看Connector几个关键字NIO:Tomcat可以利用Java比较新的NIO技术,提升高并....
分类:
其他好文 时间:
2014-07-19 16:10:51
阅读次数:
182