高性能网络应用框架Netty 4.0.39.Final 和 4.1.3.Final 发布
jopen 8年前
<p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/e09e565c7d5d147b680aaf8ff112f261.png" /></p> <p>Netty是一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。</p> <p>也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。</p> <p>“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实现经验,这些协议包括FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。</p> <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/6f5c0e93dee3f67278a256a3c3d7de2f.png" /></p> <p style="text-align: center;"><strong>体系结构图</strong></p> <h2>更新日志</h2> <h3>4.0.39 和 4.1.3.Final重大改变</h3> <ul> <li>Fix JDK9 direct ByteBuffer cleaner invocation (<a href="/misc/goto?guid=4958992176487377369">#5538</a>)</li> <li>Non-sticky thread groups in DefaultThreadFactory (<a href="/misc/goto?guid=4958992176616415430">#5533</a>)</li> <li>Enforce Recycler limit when recycling from different threads (<a href="/misc/goto?guid=4958992176732492637">#5528</a>)</li> <li>Avoid missed signals on a default promise (<a href="/misc/goto?guid=4958992176871345516">#5523</a>)</li> <li>Ensure ChannelHandler.handlerAdded(...) callback is executed directly when added from ChannelFutureListener added to the registration future. (<a href="/misc/goto?guid=4958992176989232238">#5515</a>)</li> <li>Not operate on serial execution assumption when using EventExecutor in the DefaultChannelPipeline.(<a href="/misc/goto?guid=4958992177124557823">#5506</a>)</li> <li>Make AbstractChannel.outboundBuffer volatile (<a href="/misc/goto?guid=4958992177249134337">#5509</a>)</li> <li>Fix improper synchronization in DefaultPromise (<a href="/misc/goto?guid=4958992177371307391">#5494</a>)</li> </ul> <h3>4.1.3.Final重大改变</h3> <ul> <li>DnsNameResolver search domains support (<a href="/misc/goto?guid=4958992177491089646">#5496</a>)</li> <li>DefaultHttp2RemoteFlowController reentry infinite loop (<a href="/misc/goto?guid=4958992177615679243">#5525</a>)</li> </ul> <h2>下载</h2> <ul> <li>4.1.3.Final<strong> </strong><a href="/misc/goto?guid=4958992177746022733" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li>4.1.3.Final<strong> </strong><a href="/misc/goto?guid=4958992177856185657" rel="nofollow"><strong>Source code</strong> (tar.gz)</a><img src="file:///C:/Users/wqm/AppData/Local/Temp/enhtmlclip/Image(3).png" /></li> <li>4.0.39.Final <a href="/misc/goto?guid=4958992177980676847" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li>4.0.39.Final <a href="/misc/goto?guid=4958992178087906185" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <p> </p>