简介
NIO的作用就是改进程序的性能。因为有时候程序的性能瓶颈不再是CPU,而是IO。这时候NIO就派上用场了。NIO的原理就是尽量利用系统底层的资源来提高效率,比如利用DMA硬件减小CPU负荷,利用操作系统的epoll机制避免线程频繁切换。通过底层资源提高系统的吞吐量。
缓冲区
缓冲区就是一个固定大小的一组数据。缓冲区有四个非常重要的属性:容量,限制,位置,标记。容量就是一个缓冲区...
分类:
编程语言 时间:
2014-07-31 00:07:35
阅读次数:
388
SocketAsyncEventArgs是.net提供的关于异步socket类,封装了IOCP的使用,可以用它方便的实现NIO(non-blocking IO)NIO对于提升某些场景下Server性能和吞吐量有很大益处,准备在服务框架中使用它来编写简易rpc的部分不过例子还是感觉复杂了点,我只是需要...
分类:
其他好文 时间:
2014-07-30 20:35:54
阅读次数:
288
JRE的rt.jar中提供了一个类sun.misc.Unsafe,虽然这个类因为其不其安全性,不建议使用,而且被加了诸多限制;但
是在很多场合下我们确实需要这个类提供的强大功能。JDK类库下的NIO和concurrent包下的很多类都使用到了Unsafe
类,如AtomicInteger和AbstractQueuedSynchronizer等。
JDK源码中对这个类进行了严格限制,我们...
分类:
系统相关 时间:
2014-07-29 22:00:12
阅读次数:
413
一、MINA简介 在介绍Mina之前,要先介绍一下NIO和BIO这两个名词: BIO:Blocking IO,阻塞IO,每个客户端的请求对应一个线程处理。使用BIO有一个问题,当客户端的连接请求过多时,服务端就会需要很多线程来处理客户端的请求,这样很容易使得服务器资源消耗过度等问题。 NIO:...
分类:
其他好文 时间:
2014-07-29 21:02:22
阅读次数:
232
本文整理汇总了本博客自去年学习HBase以来写的所有关于HBase的相关内容。持续更新中,更多内容,敬请关注!
相关知识:
1、《布隆过滤器(Bloom Filter)》
2、《7-bit整数(Integer)压缩算法》
3、《Java NIO(上)》《Java NIO(下)》
HBase安装:
1、《CentOS分布式环境安装HBase-0.96.0》
2、《centos集群上...
分类:
其他好文 时间:
2014-07-29 12:55:37
阅读次数:
372
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