如何利用Java NIO实现高性能高并发的http服务器
来源: segmentfault.com
本文转载自:https://segmentfault.com/a/1190000019389906,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。
在学习Java NIO的过程中,我一直理解不了Java NIO是怎么用来实现高并发的 服务器 的,网上给出的例子里,基本上没有多少说到这一点的,Tomcat,Jetty这些的源码又太庞大了,导致我无从下手。
后来搜了下才发现,JDK自带了一个httpserver的实现,看了下代码,非常简洁,非常规范,一下子就让我搞懂了Java NIO是怎么实现高并发的了。
NIO是同步非阻塞模型,同步是指用NIO读取数据,需要你的线程一直在运行着,直到数据读写完毕。非阻塞是指监听通道的时候是非阻塞的,比如向通道询问有没有数据可读的时候,可以马上就返回有或者没有。如果有数据,你的线程就可以去处理读数据这部分的逻辑;如果没有数据,你的线程可以去忙其他的事情,这样子单个线程的处理能力就会高很多,不用总是等着数据。
在jdk的httpserver里,处理请求的过程大致如下图:
以上所述就是小编给大家介绍的《如何利用Java NIO实现高性能高并发的http服务器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

关注我们,获取更多IT资讯^_^
为你推荐:
- Puma 4.0.0 发布,关注高并发的 Ruby HTTP 服务器
- Puma 4.0.0 发布,关注高并发的 Ruby HTTP 服务器
- Puma 4.0.1 发布,关注高并发的 Ruby HTTP 服务器
- Puma 4.1.1 发布,关注高并发的 Ruby HTTP 服务器
相关软件推荐:
- PHP 实现 HTML5 的服务器发送事件 PHP SSE
- 高效简单的 HTTP 缓存服务 Pike-HTTPCache
- 用 C 实现的 HTTP/2 库 Nghttp2
- Java NIO 实现的 smart-socket Android 版 smart-ioc
- 高性能的跨语言序列化与RPC引擎 Hprose for Java
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
构建高可用Linux服务器
余洪春 / 机械工业出版社华章公司 / 2011-11-1 / 79.00元
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强,包含大量企业级的应用案例及相应的解决方案,读者可以直接用这些方案解决在实际工作中遇到的问题。 全书一共10章。第1章以作者的项目实践为......一起来看看 《构建高可用Linux服务器》 这本书的介绍吧!