转:http://blog.csdn.net/cankykong1/article/details/19937027

Mina:

Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序,Mina 所支持的功能也在进一步的扩展中。目前,正在使用 Mina的应用包括:Apache Directory Project、AsyncWeb、AMQP(Advanced Message Queuing Protocol)、RED5 Server(Macromedia  Flash Media RTMP)、ObjectRADIUS、 Openfire等等。

Netty:

Netty是一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。

Grizzly:

Grizzly是一种应用程序框架,专门解决编写成千上万用户访问服务器时候产生的各种问题。使用JAVA NIO作为基础,并隐藏其编程的复杂性。容易使用的高性能的API。带来非阻塞socketd到协议处理层。利用高性能的缓冲和缓冲管理使用高性能的线程池。

OK,我们现在可以看看三者的简单对比了。

首先,从设计的理念上来看,Mina的设计理念是最为优雅的。当然,由于Netty的主导作者与Mina的主导作者是同一人,出自同一人之手的Netty在设计理念上与Mina基本上是一致的。而Grizzly在设计理念上就较差了点,几乎是Java NIO的简单封装。

其次,从项目的出身来看,Mina出身于开源界的大牛Apache组织,Netty出身于商业开源大亨Jboss,而Grizzly则出身于土鳖Sun公司。从其出身可以看到其应用的广泛程序,到目前为止,我见到业界还是使用Mina多一些,而Netty也在慢慢的应用起来,而Grizzly则似乎只有Sun自已的项目使用了,如果还有其他的公司或开源项目在使用,那就算我孤陋寡闻。

最后,从入门的文档来说,由于Mina见世时间相对较长,官方以及民间的文档与入门示例都相当的多。Netty的官方文档也做得很好,而民间文档就要相对于Mina少一些了。至于Grizzly,不管是官方还是民间,都很少见到其文档。

最新文章

  1. 关于zigbee 网络拓扑节点数量的一点说明
  2. Linux学习历程(持续更新整理中)
  3. SPS中JSOM和SOAP 实现文件上传
  4. heartbeat安装
  5. PHP-通过strace定位故障原因
  6. 一个无聊的实验:验证网站是否通过web容器还是微服务部署
  7. 获取自身ip
  8. TCP协议下Socket的基础编程类型
  9. java 中间String分类
  10. cookie和session详解[转]
  11. XBIM 基于 WexBIM 文件在 WebGL 浏览和加载
  12. hdu-1728(贪心&&bfs的灵活运用吧)
  13. JAVA设计模式——代理(动态代理)
  14. HDOJ 3308 LCIS (线段树)
  15. Shell教程 之printf命令
  16. Appium+python自动化8-Appium Python API
  17. 基于JS的文本验证
  18. opencv源代码之中的一个:cvboost.cpp
  19. HDU3629:Convex
  20. Linux中建立软raid

热门文章

  1. delphi 打印 PDevMode 说明
  2. 【LeetCode 10】正则表达式匹配
  3. 【dart学习】-- Dart之元数据
  4. snaker配置
  5. android ellipsize的使用及实现跑马灯效果总结
  6. 为了避免hexo博客换了电脑应该提前做的准备。
  7. 1.5 React 与 DOM
  8. PAT_A1088#Rational Arithmetic
  9. ubuntu 搭建嵌入式开发环境tftp的方法
  10. react map循环数据 死循环