А зачем вам вообще голые NIO и NIO2 ? Если нужно какое-то сетевое приложение зафигачить на java, возьмите Netty. Отличная либа, в основе которой лежит как раз NIO. Только не надо самому копаться в низкоуровневом коде. По Netty есть и отличный туториал на их
сайте . Плюс есть книга Netty in action.