I found this article saying OpenJDK uses epoll on linux, but does anybody know if Selector implementations use kqueue, dev/poll etc over traditional polling where available?
Answer
Yes it does. java.nio.channels.Selector.open() returns different implementations depending on your underlying operating system. Eg. If you are using a JRE from sun/oracle you will get:
Windows sun.nio.ch.WindowsSelectorImpl Mac OS sun.nio.ch.KQueueSelectorImpl Linux sun.nio.ch.EPollSelectorImpl Solaris sun.nio.ch.PollSelectorImpl