Digital Download Immediately
Transmogrifier: Java NIO And Non - Blocking IO
Transmogrifier: Java NIO and Non-Blocking IO
Mini-Course on how non-blocking network communication is done in Java. Level: difficult
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 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.
Dr Heinz M. Kabutz
Heinz Kabutz is the author of The Java Specialists’ Newsletter, a publication enjoyed by tens of thousands of Java experts in over 145 countries. His book “Dynamic Proxies (in German)” was #1 Bestseller on Amazon.de in Fachbücher für Informatik for about five minutes until Amazon fixed their algorithm. Thanks to a supportive mother, he has now sold 5 copies.
Heinz’s Java Specialists’ newsletter is filled with amusing anecdotes of life on the Island of Crete. He is a popular speaker at all the best Java conferences around the world, and also at some of the worst. He teaches Java courses in classrooms around the world, where his prime objective is to make absolutely sure that none of his students fall asleep. He is not always successful.
Welcome to the Transmogrifier! (2:12)
2. Single-threaded Blocking Server With Old Java.IO
2.1 Single-Threaded Blocking Server (5:20)
2.2 Single-Threaded Blocking Server Exercises (3:31)
2.3 Single-Threaded Blocking Server Exercise Solutions (6:34)
3. Multi-Threaded Blocking Server
3.1 Multi-Threaded Blocking Server (2:26)
3.2 NastyChump DoS Attack (5:59)
3.3 Refactor to Decorator Pattern Exercises (1:22)
3.4 Refactor to Decorator Pattern Exercise Solution (16:38)
3.5 Extracting Common Decorator Abstract Class (9:11)
4. ExecutorService Blocking Service
4.1 ExecutorService Blocking Server (2:31)
4.2 ExecutorService Exception Handling (8:55)
4.3 Cached vs Fixed Executor Service (4:26)
4.4 ExecutorService Blocking Server Exercises (1:36)
5. Java NIO Blocking Server with Channels
5.1 Java.NIO Blocking Server (20:41)
6. Polling Non-Blocking Server
6.1 Single Threaded Polling Non-Blocking Java.NIO Server (9:30)
6.2 Polling Non-Blocking Server Exercises (0:37)
7. Non-Blocking Server with Selector
7.1 Single-Threaded Selector-Based Non-Blocking Server (3:06)
7.2 AcceptHandler (3:31)
7.3 ReadHandler (7:25)
7.4 WriteHandler (4:30)
7.5 Putting it together (11:59)
8. Work-Pool for Transmogrifying
8.1 Non-Blocking Server with Work Pool (16:02)
9. Thank You
9.1 Thank You For Learning With Us! (0:45)
Transmogrifier: Java NIO And Non - Blocking IO on sunlurn.com