I believe Java\'s NIO library will use epoll on Linux machines. What are all the advantages of using Epoll instead of NIO on Linux machines.
There are some information about this in netty's docs:
Netty provides the following platform specific JNI transports:
Linux (since 4.0.16) MacOS/BSD (since 4.1.11)
These JNI transports add features specific to a particular platform, generate less garbage, and generally improve performance when compared to the NIO based transport.
Netty's epoll transport uses epoll edge-triggered while java's nio library uses level-triggered. Beside this the epoll transport expose configuration options that are not present with java's nio like TCP_CORK, SO_REUSEPORT and more.