Мини-курс о том, как неблокирующая сетевая связь осуществляется на Java. Уровень: сложный.
Java.NIO был с нами с Java 1.4. Да, это более 15 лет назад! И вы до сих пор не знаете, как это работает?
Не беспокойтесь, мы здесь, чтобы помочь :-)
В этом мини-курсе мы начнем с изучения того, как работает «старый» Java.IO, написав три разных сервера.
Затем мы переходим к Java.NIO, что означает «новый ввод-вывод», а не так, как думает большинство людей «неблокирующий ввод-вывод». Наш первый пример использует блокирующий сервер Java.NIO, чтобы показать это.
Затем мы пишем неблокирующий сервер Java.NIO с опросом, который потребляет много ресурсов ЦП, но способен поддерживать больше сокетов, чем блокирующие варианты.
Наконец, мы пишем два немного разных неблокирующих сервера, используя селектор для реагирования на события, которые могут произойти в наших сокетах.
Этот мини-курс предназначен для вас, чтобы писать вместе. К концу у вас должно быть рабочее понимание того, как общаться через сокеты блокирующим и неблокирующим образом.
Посмотреть больше
Урок 1.00:02:13
Welcome to the Transmogrifier!
Урок 2.00:05:21
2.1 Single-Threaded Blocking Server
Урок 3.00:03:32
2.2 Single-Threaded Blocking Server Exercises
Урок 4.00:06:35
2.3 Single-Threaded Blocking Server Exercise Solutions
Урок 5.00:02:27
3.1 Multi-Threaded Blocking Server
Урок 6.00:06:00
3.2 NastyChump DoS Attack
Урок 7.00:01:23
3.3 Refactor to Decorator Pattern Exercises
Урок 8.00:16:38
3.4 Refactor to Decorator Pattern Exercise Solution
Урок 9.00:09:12
3.5 Extracting Common Decorator Abstract Class
Урок 10.00:02:32
4.1 ExecutorService Blocking Server
Урок 11.00:08:56
4.2 ExecutorService Exception Handling
Урок 12.00:04:27
4.3 Cached vs Fixed Executor Service
Урок 13.00:01:37
4.4 ExecutorService Blocking Server Exercises
Урок 14.00:20:42
5.1 Java.NIO Blocking Server
Урок 15.00:09:31
6.1 Single Threaded Polling Non-Blocking Java.NIO Server
Урок 16.00:00:38
6.2 Polling Non-Blocking Server Exercises
Урок 17.00:03:07
7.1 Single-Threaded Selector-Based Non-Blocking Server
JavaSpecialists был основан в 1998 году, чтобы предлагать экспертные консультации по Java и контрактные услуги. В 1999 году мы начали преподавать курс практического обучения Брюса Экеля в Кейптауне, Южная Африка. Позже в 1999 году нас попросили предложить консалтинговые услуги компании ERP в Германии. В 2000 году мы начали публиковать информационный бюллетень специалистов по Java ™. В 2001 году мы начали писать и преподавать наши собственные курс