`
zhuzhiguosnail
  • 浏览: 110465 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java NIO框架Mina, Netty, Grizzly比较

阅读更多

Mina:

Mina (Multipurpose Infrastructure for Network Applications) is a relatively new project of the Apache organization, it provides a very convenient framework for the development of high-performance and high-availability network applications. The current release version of Mina 2.04 support Java NIO technology-based TCP / UDP application development, and serial communication program, Mina the support function is also expanded. Currently being used Mina applications include: Apache Directory Project, AsyncWeb, AMQP (Advanced Message Queuing Protocol), RED5 Server (Macromedia Flash Media RTMP), ObjectRADIUS, Openfire and so on.

 

Netty:

Netty is an asynchronous event-driven network application framework and tools for rapid development of maintainable high-performance, highly scalable protocol server and client. In other words, Netty is a NIO client / server framework to support rapid and easy development of network applications such as protocol servers and client. It greatly simplifies network programming, such as TCP and UDP socket server.

 

Grizzly:

Grizzly is an application framework, geared to write tens of thousands of users to access the server when the various issues that arise. As a basis for using the Java NIO, and hide the complexity of programming. Easy-to-use, high-performance API. The bring non-blocking socketd the protocol processing layer. High-performance buffer and buffer management using high-performance thread pool.

 

OK, we can now look at a simple comparison of the three.

 

First of all, from the design concept, Mina's design concept is the most elegant. Of course, since the the Netty leading author and Mina-led by the same person, by the hands of the same person Netty and Mina in the design concept is basically the same. Grizzly in the design concept is poor, almost simple Java NIO package.

 

Secondly, from the view of the origin of the project, Mina was born in Daniel Apache open source community organization, Netty was born in commercial open source tycoon JBoss the Grizzly born inEupolyphaga Sun. From its origin can see a wide range of procedures for its application, so far, I have seen the industry or more Mina, Netty also slowly application, Grizzly seems to be the only Sun own project, if it is There are other companies or open source project, that even if my ignorance.

 

Finally, from the entry documents, Mina see World relatively long time, the official and civil documentation and Getting Started Sample considerable. Netty official documentation they have done well, and civil documentation is necessary with respect to Mina less. Grizzly, whether official or private, are rarely seen in its documentation.

 

After the above describes a simple comparison, Mina, Netty, Grizzly three you choose Which beauty?In the evaluation Write oh.

 

 

-------------------------------------------------- -----------------------

  • mina than Netty appear early, are Trustin Lee's work;
  • mina kernel and some characteristics of contact is too close, so that users do not need these features can not be divorced from the performance will decline compared to the next; Netty solve design problems
  • The documentation of netty clearer, has a lot of the mina characteristics in netty;
  • Netty update cycle is shorter, the release of a new version of the fast;
  • little difference of their architecture, mina rely on apache survival, and the the netty rely on jboss and jboss combination of very high Netty have support for google protocal buf, more complete the ioc container support (spring, guice, jbossmc and osgi);
  • netty is much easier to use than the mina, Netty, you can customize the processing upstream events or / and Downstream Events decoder and encoder can be used to decode and encode send content;
  • netty and Mina there are some differences in the processing of UDP Netty UDP connectionless characteristics exposed senior levels of abstraction; mina UDP, UDP as connection-oriented protocol, netty do This is a little more difficult.
分享到:
评论

相关推荐

    Java面试题10道Java高级必备的Netty面试题!.pdf

    - Netty与其他网络库(如Grizzly或Mina)相比有哪些优势? 通过以上面试题,可以全面评估候选人在Netty框架的理解深度和实践经验。深入学习和掌握这些知识点,不仅有助于在面试中脱颖而出,还能在实际开发中提高...

    Netty面试题 +Netty综合面试题整合

    - 与 Java NIO、MINA、Grizzly 等比较,Netty 在易用性、性能、稳定性上具有优势。 在面试过程中,你可能需要展示对这些概念的理解,以及在实际项目中的应用经验。同时,了解如何解决常见的问题,如内存泄漏、性能...

    java 网络框架

    网络框架如Netty、Grizzly和MINA简化了网络应用的开发。这些框架提供了高级API,用于处理多线程、异步I/O、事件驱动的网络编程。例如,Netty以其高性能、灵活性和易用性而闻名,它使用了NIO(非阻塞I/O)来处理大量...

    java开源包3

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    Netty5.0架构剖析和源码解读

    2. **MINA**:Apache出品的一个网络应用框架,支持多种传输协议。 3. **Grizzly**:Oracle JavaFX项目的一部分,用于构建高性能的服务器端应用。 这些框架通过封装底层复杂的网络通信细节,提供了简单易用的API,...

    JAVA网络通信系统的研究与开发(论文+源代码+开题报告)

    Java世界中有多个成熟的网络通信框架,如Netty、Grizzly、MINA等。这些框架封装了底层的I/O操作,提供了高度可扩展和性能优良的网络服务。例如,Netty因其高性能、易用性和灵活性,在实时通信、游戏服务器等领域广泛...

    java开源包4

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包101

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包6

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包8

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包9

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包10

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    Netty原理和使用

    Netty是一个高性能事件驱动的异步的非堵塞的IO(NIO)框架,用于建立TCP等底层的连接,基于Netty可以建立高性能的Http服务器。支持HTTP、WebSocket、Protobuf、BinaryTCP|和UDP,Netty已经被很多高性能项目作为其...

    java开源包5

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包1

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    Java资源包01

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包2

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包11

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包7

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

Global site tag (gtag.js) - Google Analytics