关闭

Java并发之BlockingQueue

在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作...
阅读(401) 评论(0)

通过一个简单的例子看服务端的启动过程以及客户端与服务端的连接过程(Netty 4.0.18)

Netty版本:4.0.17 这个例子接受socket连接,并将客户端发送来的数据输出到控制台,不做任何响应。代码来自Netty的Example。 首先看源代码。运行这个例子,然后执行命令telnet localhost 8080 在命令行的任何输入,都将被服务端输出到控制台。 import io.netty.buffer.ByteBuf; import io.netty.channel....
阅读(1286) 评论(0)

Netty4更新详解

netty现在应该是java界最流行的网络框架之一了,高性能,可扩展,代码优雅。之前做的页游都是用netty3.x来做网络层通信。最近看到netty4快要出来了,一些新的特性还是很值得推介的。 1.Buff ChannelBuffer变成了ByteBuff。还引入了Buff对象池Unpooled来管理回收不用的buff,避免gc的频率。在netty3中,buff都是固定大小或者dyna...
阅读(444) 评论(0)

观察者设计模式

1.什么是观察者模式? 观察者是一个很常见的模式,又名依赖模式或发布-订阅模式。当一组对象依赖于另外一个对象的某个状态时,观察者模式就能很好地解决这个问题。观察者模式能解决这个需求:当对象间存在一对多的依赖关系,且一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并且自动地完成某些工作。这就意味着观察者模式可以在单线程中,使某一对象,及时得知自身所依赖的状态的变化。 如果不采用观察者模式...
阅读(427) 评论(0)

使用Java NIO实现异步的socket通信

最近在学习NIO与socket,发现了一组比较好的文章:http://blog.csdn.net/kongxx/article/details/7288896。这篇文章使用Selector来管理ServerSocketChannel,事实上不是没有做到真正的异步,还是按部就班地接受连接,收发信息,然后释放连接。更常规的方法是服务端使用两个线程,一个线程才用阻塞的方法来accept客户端,另一个线程...
阅读(1423) 评论(0)
    个人资料
    • 访问:4133次
    • 积分:66
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档