Transmogrifier: Java NIO and Non-Blocking IO

Mini-Course on how non-blocking network communication is done in Java. Level: difficult

  Enroll in Course

Java.NIO has been with us since Java 1.4. Yep, that's over 15 years ago! And you still don't know how it works?

No worries, we're here to help :-)

In this mini-course, we start by learning how the "old" Java.IO works by writing three different servers.

We then move over to Java.NIO, which stands for "New IO", not as most people think "Non-blocking IO". Our first example uses a blocking Java.NIO server, to show this.

We then write a polling non-blocking Java.NIO server, which consumes a lot of CPU, but is able to support more sockets than the blocking varieties.

Finally, we write two slightly different non-blocking servers using the Selector to react to events that might happen on our sockets.

This mini-course is designed for you to code along. By the end, you should have a working understanding of how to communicate over sockets in a blocking and non-blocking fashion.


Your Instructor


Dr Heinz M. Kabutz
Dr Heinz M. Kabutz

Class Curriculum


  1. Welcome
Available in days
days after you enroll

Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Can I pay via PayPal?
Yes, you can for courses priced in US$ that do not have recurring payments.
Where do I enter my company details?
We usually suggest that you enter them in the "Full Name" field, together with your name and your company VAT number. Be sure to also enter the VAT number in the appropriate field if your company is registered in the EU. We can accept direct payments and issue company invoices for orders larger than $1500.

Get started now!