`

JAVA使用EPoll来进行NIO处理的方法

 
阅读更多
JDK 6.0 以及JDK 5.0 update 9 的 nio支持epoll (仅限 Linux 系统 ),对并发idle connection会有大幅度的性能提升,这就是很多网络服务器应用程序需要的。

启用的方法如下:
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider



例如在 Linux 下运行的 Tomcat 使用 NIO Connector ,那么启用 epoll 对性能的提升会有帮助。

而 Tomcat 要启用这个选项的做法是在 catalina.sh 的开头加入下面这一行
CATALINA_OPTS='-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider'
分享到:
评论

相关推荐

    Java NIO原理和使用

    Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能...通过仔细阅读这个例程,相信你已经大致了解NIO的原理和使用方法,下一篇,我们将使用多线程来处理这些数据,再搭建一个自己的Reactor模式。

    Java NIO 中文全书签

    nio对于java程序员来说可能不是很好理解,但是对于C程序员来说,就是epoll的一个封装。 我本人是C程序员,对java比较感兴趣,发现java nio里面很多的东西都是对C原生api的封装,如epoll, mmap等 要是想学习 java ...

    java物联网源码-IOtest:JavaNIO与linuxepoll和WindowsAysnchronous之间的一些测试程序,带有源代码视

    java物联网源码IO测试 Java NIO与linux epoll和WindowsAysnchronous之间的一些测试程序,带有源代码视图。

    Netty应用说明笔记

    4、JAVA NIO框架存在一个poll/epoll bug:Selector doesn’t block on Selector.select(timeout),不能block意味着CPU的使用率会变成100%(这是底层JNI的问题,上层要处理这个异常实际上也好办)。当然这个bug只有在...

    toyhttpd_study:本仓库是对开源的`toyhtpd`的二​​进制分析,其中`toyhtpd`

    本仓库是对开源的toyhtpd的源码分析,其中toyhtpd :是实现的I / O模型练手代码,分别使用分离式I / O,select,poll和epoll和Java NIO实现了简单的HTTP Server。 总结:通过阅读toyhttpd源码: 因为其中内部内部...

    高性能IO模型浅析

    注意这里所说的NIO并非Java的NIO(New IO)库。 (3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。 (4)异步IO(Asynchronous...

    learn-mina-the-hard-way

    Java NIO java NIO 和阻塞I/O的区别及各自的优缺点? 参见资料,, I/O通信模型(5种) java NIO服务端和客户端代码实现 没有说明NIO背后的原理是React器模式. 另外java_mzd的评论值得注意: 文章不错,理解不够! 小路...

    IO_deep_learning_notes.zip

    174 内核中PageCache、mmap作用、java文件系统io、nio、内存中缓冲区作用 地址 177 Socket编程BIO及TCP参数 地址 184 C10K问题及NIO精讲和IO模型性能压测 地址 185 网络编程之多路复用器及Epoll精讲 地址 187 ...

    开源bbs源码java-interview-note:面试题总结

    NIO模型,select/epoll的区别,多路复用的原理 Java中一个字符占多少个字节,扩展再问int, long, double占多少字节 创建一个类的实例都有哪些办法? final/finally/finalize的区别? LinkingBlockingQueue与...

    libevent在MFC上的实现(工具:LibeventServer.exe)

    libevent在MFC上的实现, 花了1周的时间研究各种TCP模型, 包括LINUX和WINDOWS平台等, 包括C&C++, C#, JAVA, GOLANG, ERLANG等居于IOCP, SELECT, POLL, EPOLL, KQUEUE, BIO, NIO, AIO, 并发语言等实现的同步或异步...

    livevent在MFC上的实现

    livevent在MFC上的实现, 花了1周的时间研究各种TCP模型, 包括LINUX和WINDOWS平台等, 包括C&C++, C#, JAVA, GOLANG, ERLANG等居于IOCP, SELECT, POLL, EPOLL, KQUEUE, BIO, NIO, AIO, 并发语言等实现的同步或异步...

    煤矿设备状态监测系统设计-论文

    采用Netty网络传输模型避免空轮询导致的服务器负载增加,提高监测数据传输效率:在数据采集过程中,多个设备同时作业导致数据采样频率和传感器终端的并发请求数量升高,Netty模型中的Epoll模式优先处理已就绪的I/O...

    esa-httpserver:ESA HttpServer是基于netty的异步事件驱动的HTTP服务器

    Epoll / NIO 分块读/写 身体聚集 多部分 指标 更多功能... Maven依赖 < groupId>io.esastack < artifactId>httpserver</ artifactId> ${esa-httpserver.version}</ version> 快速开始 HttpServer . create() ...

    Socket高性能IO模型浅析

    注意这里所说的NIO并非Java的NIO(NewIO)库。(3)IO多路复用(IOMultiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。(4)异步IO(AsynchronousIO)...

    esa-httpclient:ESA HttpClient是基于netty的异步事件驱动的HTTP客户端

    特征Http1 / H2 / H2cUpgrade Https Epoll / NIO 拦截器筛选重试,重定向,100预期连续分段读/写多部分指标更多功能...Maven依赖< dependency> < groupId>io.esastack</ groupId> < artifactId>httpclient-core...

Global site tag (gtag.js) - Google Analytics