问题:生活中工作中,会有人问我javaNIO框架里面 Netty Mina  xSocket Grizzly 等等哪个比较好?

在这里写一下自己的感受,也算是总结一下吧

在我的印象中。不管是什么NIO框架。本身其实都是对Java底层的一种在封装。封装一套更简便,更易于扩展的一套东西以方便开发者使用。所以性能上也许会有所差异,但是绝对没有java和C++之间这么多。(代码写的太烂的除外,不过想要使用java写出很烂的代码也比较困难。)这些框架在性能方面差别不会超过1%。

Mina和Netty开始。因为这两个NIO框架的创作者是同一个人Trustin Lee (韩国人)。GitHub主页地址 :https://github.com/trustin。尽管创作者现在已经不专注与开发了。但是框架的后续开发和继承,可以说都是符合最开始的设定的。两个框架的架构设计思路基本一致。

Netty从某种程度上讲是Mina的延伸和扩展。解决了一些Mina上的设计缺陷,也优化了一下Mina上面的设计理念。

另一方面Netty相比较Mina更容易学习。API更简单。详细的范例源码和API文档。更活跃的论坛和社区。更高的代码更新维护速度。

我想不出什么理由来不选择Netty。

xSocket:是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等方面。(只是对Java的NIO做了最简单的封装,以便于开发使用。)

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

下面是网络的一些大神的文章是关于这些NIO框架的。有兴趣的大家可以看看

java nio 框架_几种Java NIO框架的比较(zz)相关推荐

  1. java jar 打印_三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导 ...

  2. java视频保存_一种Java实现存储视频收视率的方法与流程

    本发明涉及Java程序设计技术领域,尤其涉及一种Java实现存储视频收视率的方法. 背景技术: 在项目研发过程中,遇到这样一个需求.客户想要将用户在机顶盒上观看的直播频道.点播影片等用户行为存储到数据 ...

  3. java native 原理_一种Java+Native应用的系统架构的制作方法

    本发明涉及智能卡技术领域,特别是要求支持Java功能的智能卡领域. 背景技术: Java卡是Sun微系统为智能卡开发平台而制定的一个开放的标准.使用Java卡平台创建的智能卡上存有Java apple ...

  4. java bpm 开源_几种Java开源工作流引擎的简单比较

    摘要:目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下其 ...

  5. java 字符拼接_七种java字符串拼接详解

    01."+"号操作符 要说姿势,"+"号操作符必须是字符串拼接最常用的一种了,没有之一. String chenmo = "沉默"; Str ...

  6. java 轮训加权_一种JAVA线程轮训调度算法(转载)

    话不多说,直接上代码(本算法转载自"并发编程网 http://ifeve.com"). public class CycleAtomicInteger { private fina ...

  7. java nio使用_什么时候使用NIO?

    一.前言 学习了Java IO 和 NIO之后,肯定会问:我们到底什么时候该使用 IO,什么时候该使用 NIO? 在下文中我会尝试用例子阐述java NIO 和IO的区别,以及它们对你的设计会有什么影 ...

  8. python java混合编程_详解java调用python的几种用法(看这篇就够了)

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

  9. executor线程池框架_如何使用Java 5 Executor框架创建线程池

    executor线程池框架 Java 5以Executor框架的形式在Java中引入了线程池,它允许Java程序员将任务提交与任务执行分离. 如果要使用Java进行服务器端编程,则线程池是维护系统可伸 ...

最新文章

  1. 干货|建议初创团队起初也要构建分布式应用
  2. 东大漆桂林、清华李涓子、复旦肖仰华等大牛确认出席CTA峰会!5月一起打卡杭州...
  3. 小菜学设计模式——命令模式
  4. redis VS kafka
  5. 如何才能写好一篇文章?
  6. 百面机器学习 #2 模型评估:07 过拟合和欠拟合及其常用解决方法
  7. 如何才能成为优秀的架构师?
  8. JSONObject.fromObject(obj) 报错
  9. 大创人人有,我怎么才能拿到国家级?
  10. 23种设计模式-模板方法模式《面试流程》
  11. 【转下载】黑莓7290中文说明书
  12. 矢量网络分析仪程控软件
  13. 【操作系统】第十一章-多媒体操作系统
  14. 电脑断电word文档不见了恢复
  15. 理性分析:那些吃蝙蝠的人,根本动机是什么?
  16. git更换主分支master
  17. gpedit.msc打不开
  18. Resource not found问题
  19. 计算机曲谱卡农,卡农曲谱.doc
  20. Python爬虫基础讲解(二十三):scrapy框架简介

热门文章

  1. iOS及Mac开源资料
  2. tzc 1292 排序
  3. 网站图标ICO在线转换的网站
  4. 从键盘读入学生成绩,找出最高分, 并输出学生成绩等级
  5. 接口测试,后端接口还没开发完,如何测?解决看这一篇就够了......
  6. GPS定位系统(一)——介绍
  7. 沅湘流不尽,屈子怨更深,日暮秋风起,潇潇枫树林。
  8. 第二证券|11天9板,“超级面料”概念火爆,高管却偷偷减持
  9. Github上的开源项目2
  10. 运筹说 第6期|运筹学自媒体的“百家争鸣”