如何利用Java NIO实现高性能高并发的http服务器

栏目: Java · 发布时间: 6年前

在学习Java NIO的过程中,我一直理解不了Java NIO是怎么用来实现高并发的服务器的,网上给出的例子里,基本上没有多少说到这一点的,Tomcat,Jetty这些的源码又太庞大了,导致我无从下手。

后来搜了下才发现,JDK自带了一个httpserver的实现,看了下代码,非常简洁,非常规范,一下子就让我搞懂了Java NIO是怎么实现高并发的了。

NIO是同步非阻塞模型,同步是指用NIO读取数据,需要你的线程一直在运行着,直到数据读写完毕。非阻塞是指监听通道的时候是非阻塞的,比如向通道询问有没有数据可读的时候,可以马上就返回有或者没有。如果有数据,你的线程就可以去处理读数据这部分的逻辑;如果没有数据,你的线程可以去忙其他的事情,这样子单个线程的处理能力就会高很多,不用总是等着数据。

在jdk的httpserver里,处理请求的过程大致如下图:

如何利用Java NIO实现高性能高并发的http服务器


以上所述就是小编给大家介绍的《如何利用Java NIO实现高性能高并发的http服务器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Python

Programming Python

Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99

Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具