Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Java до уровня Junior Developer за 3 месяца (1 часть), а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:04:19
    Как повторить действие, рассмотренное в лекции?
  • Урок 2. 00:02:44
    Повторяйте написание кода при рассмотрении
  • Урок 3. 00:01:51
    Выполняйте практические задания!
  • Урок 4. 00:02:27
    Рекомендованный алгоритм решения практических задач
  • Урок 5. 00:04:05
    Используйте отладчик, чтобы разобраться как работает
  • Урок 6. 00:01:05
    Напоминание: Запустить можно только класс в
  • Урок 7. 00:02:59
    Для закрепления материала, самостоятельно
  • Урок 8. 00:00:43
    Если Вы заметили неработающую ссылку,
  • Урок 9. 00:00:41
    Как просматривать уроки при отсутсвующем
  • Урок 10. 00:01:26
    Как получить доступ к коду, который используется на уроке?
  • Урок 11. 00:03:10
    Как скачать код, если он содержит несколько классов?
  • Урок 12. 00:02:32
    Как собрать версию maven проекта со
  • Урок 13. 00:03:22
    Выбор операционной системы для изучения Java
  • Урок 14. 00:00:28
    Что такое JDK?
  • Урок 15. 00:01:32
    Разнообразие поставщиков JDK на рынке
  • Урок 16. 00:03:30
    Выбор поставщика JDK для курса
  • Урок 17. 00:04:05
    Выбор версии Java
  • Урок 18. 00:00:55
    Установка OpenJDK 11 для Windows
  • Урок 19. 00:00:59
    Установка OpenJDK 11 для MacOS
  • Урок 20. 00:01:04
    Установка OpenJDK 11 для Linux
  • Урок 21. 00:01:17
    Заметка: Отображение домашнего каталога
  • Урок 22. 00:00:30
    Создание пустого файла в Windows
  • Урок 23. 00:01:58
    Настройка операционной системы Windows
  • Урок 24. 00:00:28
    Создание пустого файла в MacOS
  • Урок 25. 00:00:26
    Создание пустого файла в Linux
  • Урок 26. 00:01:56
    Использование JDK для запуска программ на языке Java
  • Урок 27. 00:02:10
    Необходимость среды разработки
  • Урок 28. 00:00:45
    Обзор сред разработки для Java
  • Урок 29. 00:01:11
    Установка среды разработки IntelliJ IDEA для Windows
  • Урок 30. 00:01:56
    Установка среды разработки IntelliJ IDEA для Mac OS
  • Урок 31. 00:02:32
    Установка среды разработки IntelliJ IDEA для Linux
  • Урок 32. 00:02:44
    Повторное выполнение команд в консоли
  • Урок 33. 00:03:03
    Отличие между сохранением истории команд в Windows и Unix
  • Урок 34. 00:01:24
    Автодополнение при вводе команд
  • Урок 35. 00:03:37
    Прерывание выполнения текущего процесса в консоли
  • Урок 36. 00:01:29
    Изменение размера окна интерпретатора
  • Урок 37. 00:01:53
    Копирование и вставка команд в интерпретаторе
  • Урок 38. 00:05:42
    Что такое переменные среды?
  • Урок 39. 00:02:28
    Что такое домашний каталог пользователя?
  • Урок 40. 00:00:40
    Домашний каталог в Windows
  • Урок 41. 00:00:55
    Домашний каталог в MacOS
  • Урок 42. 00:01:00
    Домашний каталог в Linux
  • Урок 43. 00:01:01
    Переменная среды %HOMEPATH% в Windows
  • Урок 44. 00:01:16
    Переменная среды $HOME или символ ~ в MacOS
  • Урок 45. 00:01:13
    Переменная среды $HOME или символ ~ в Linux
  • Урок 46. 00:01:03
    Заметка: Отличия в синтаксисе при работе с
  • Урок 47. 00:00:31
    Получение значения переменной среды с помощью Java
  • Урок 48. 00:01:51
    Получение абсолютного пути домашнего каталога в Java
  • Урок 49. 00:01:46
    Запуск виртуальной машины Java в Windows
  • Урок 50. 00:02:55
    Запуск виртуальной машины Java в MacOS
  • Урок 51. 00:03:02
    Запуск виртуальной машины Java в Linux
  • Урок 52. 00:04:20
    Запуск виртуальной машины, используя абсолютный
  • Урок 53. 00:01:16
    Отличие в разделителе элемента пути между Windows и MacOS/Linux
  • Урок 54. 00:04:22
    Переменная среды PATH
  • Урок 55. 00:03:19
    Отличия при работе с переменной среды
  • Урок 56. 00:02:56
    Переменная среды JAVA_HOME
  • Урок 57. 00:03:51
    Область видимости переменных среды
  • Урок 58. 00:01:21
    Как правильно создавать переменные
  • Урок 59. 00:02:16
    Настройка переменных среды в Windows
  • Урок 60. 00:02:15
    Настройка переменных среды в MacOS
  • Урок 61. 00:02:27
    Настройка переменных среды в Linux
  • Урок 62. 00:02:17
    Создание учебного проекта
  • Урок 63. 00:02:41
    Написание программы поиска положительных
  • Урок 64. 00:00:30
    Заметка: Как отформатировать код в IntellJ IDEA
  • Урок 65. 00:02:41
    Какую проблему решают классы?
  • Урок 66. 00:01:43
    Решение проблемы с помощью классов
  • Урок 67. 00:00:24
    Класс как структура данных, возвращаемая из метода
  • Урок 68. 00:01:26
    Отличие класса от объекта
  • Урок 69. 00:00:51
    Операция new
  • Урок 70. 00:00:51
    Заметка: Создание объектов в Java без операции new
  • Урок 71. 00:12:38
    Области памяти в Java: Stack и Heap
  • Урок 72. 00:06:40
    Отличие примитивов от ссылочных типов данных
  • Урок 73. 00:00:41
    Оператор доступа к элементам класса
  • Урок 74. 00:02:06
    Константа null для инициализации пустых ссылок
  • Урок 75. 00:01:00
    Сравнение с null
  • Урок 76. 00:01:35
    Заметка: когда использовать null, а
  • Урок 77. 00:02:54
    Выделение памяти под поля в классе
  • Урок 78. 00:02:09
    Что значит NullPointerException?
  • Урок 79. 00:01:20
    Значения по-умолчанию
  • Урок 80. 00:02:42
    Отличие полей класса от локальных переменных
  • Урок 81. 00:01:29
    Задание начальных значений для полей в классе
  • Урок 82. 00:04:00
    Класс как шаблон создания объекта
  • Урок 83. 00:00:53
    Заметка: Упрощение схемы стека для метода main
  • Урок 84. 00:01:49
    Проблема статических массивов
  • Урок 85. 00:04:10
    Введение в динамические массивы
  • Урок 86. 00:03:57
    Создание функции добавления элемента в
  • Урок 87. 00:06:33
    Улучшение кода добавления нового
  • Урок 88. 00:01:59
    Введение в методы
  • Урок 89. 00:05:58
    Поля класса хранят состояния объекта,
  • Урок 90. 00:02:45
    Заметка: Отличие статических функций от методов
  • Урок 91. 00:16:40
    Демонстрация работы метода добавления в динамический массив
  • Урок 92. 00:07:52
    Что такое сборщик мусора?
  • Урок 93. 00:03:10
    Метод DynaArray.toArray
  • Урок 94. 00:00:55
    Заметка: Как открыть исходный код системной библиотеки?
  • Урок 95. 00:02:22
    Реализация: метод DynaArray.asString
  • Урок 96. 00:02:45
    Содержимое класса: поля и методы
  • Урок 97. 00:02:22
    Введение в пакеты
  • Урок 98. 00:02:30
    Ключевое слово package
  • Урок 99. 00:02:52
    Ограничения на имя пакета
  • Урок 100. 00:02:26
    Исправление частой ошибки с
  • Урок 101. 00:01:14
    Заметка: Перенос класса с помощью IntellJ IDEA
  • Урок 102. 00:02:42
    Что такое корневая папка для всех пакетов?
  • Урок 103. 00:01:23
    Пакет по-умолчанию
  • Урок 104. 00:01:15
    Уникальность имени класса в пределах пакета
  • Урок 105. 00:01:03
    Допустимость одного и того-же имени
  • Урок 106. 00:01:41
    Полное имя класса
  • Урок 107. 00:01:54
    Зачем использовать полное имя класса,
  • Урок 108. 00:01:14
    Импорт классов
  • Урок 109. 00:01:41
    Заметка: Импорт классов предпочтительнее
  • Урок 110. 00:01:52
    Зачем использовать полное имя класса,
  • Урок 111. 00:01:45
    Пакет java.lang
  • Урок 112. 00:02:11
    Импорт всех классов из пакета
  • Урок 113. 00:03:42
    Принцип сокрытия данных
  • Урок 114. 00:02:53
    Модификатор доступа private
  • Урок 115. 00:02:56
    Принцип инкапсуляции
  • Урок 116. 00:03:53
    Модификаторы доступа элемента класса
  • Урок 117. 00:03:12
    Модификаторы доступа к классу
  • Урок 118. 00:04:23
    Создание пакета structures и перенос в
  • Урок 119. 00:05:49
    Перегрузка методов
  • Урок 120. 00:00:48
    Заметка: Вызов публичного метода внутри класса
  • Урок 121. 00:02:22
    Заметка: доступ к private полю внутри класса
  • Урок 122. 00:06:19
    Реализация: Оптимизация методов DynaArray.add
  • Урок 123. 00:01:09
    Заметка: Важность тестов перед оптимизацией
  • Урок 124. 00:02:24
    Удаление дублирующего кода в классе DynaArray
  • Урок 125. 00:01:16
    Что такое конструктор?
  • Урок 126. 00:03:24
    Зачем нужен конструктор?
  • Урок 127. 00:03:14
    Альтернатива конструкторам
  • Урок 128. 00:01:27
    Перегрузка конструкторов
  • Урок 129. 00:01:56
    Передача фактических параметров в конструктор
  • Урок 130. 00:03:14
    Конструктор по-умолчанию
  • Урок 131. 00:01:29
    Заметка: Генерация конструктора в среде IntellJ IDEA
  • Урок 132. 00:02:35
    Ключевое слово this. Вызов конструктора из конструктора
  • Урок 133. 00:03:27
    Ключевое слово this. Получение ссылки на текущий объект
  • Урок 134. 00:04:19
    Ключевое слово this. Доступ к полю класса
  • Урок 135. 00:01:09
    Содержимое класса: конструктор и секция инициализации
  • Урок 136. 00:07:21
    Заметка: Нарушение принципа инкапсуляции
  • Урок 137. 00:02:21
    Реализация: Исправить ошибку в реализации
  • Урок 138. 00:01:22
    Реализация: Метод DynaArray.clear
  • Урок 139. 00:04:38
    Реализация: Метод DynaArray.remove
  • Урок 140. 00:00:35
    Реализация: Метод DynaArray.size
  • Урок 141. 00:00:53
    Реализация: Метод DynaArray.contains
  • Урок 142. 00:02:34
    Добавление файлов лицензии в проект
  • Урок 143. 00:01:52
    Конфигурация IntelliJ IDEAдля автоматической
  • Урок 144. 00:01:29
    Добавление шаблона авторства в код классов
  • Урок 145. 00:02:10
    Создание именованного пакета и перенос исходного кода
  • Урок 146. 00:01:48
    Статический массив: Создание и хранение в памяти
  • Урок 147. 00:02:12
    Статический массив: Особенности
  • Урок 148. 00:03:36
    Статический массив: Достоинства и недостатки
  • Урок 149. 00:05:04
    Динамический массив
  • Урок 150. 00:06:34
    Связный список как основная альтернатива массиву
  • Урок 151. 00:04:56
    Односвязный список
  • Урок 152. 00:01:05
    Двусвязный список
  • Урок 153. 00:01:11
    Сравнение односвязного и двусвязного списков
  • Урок 154. 00:01:09
    Заметка: Зачем нужны знания по базовым структурам данных?
  • Урок 155. 00:05:46
    Создание односвязного списка. Метод add
  • Урок 156. 00:03:49
    Заметка: Ограничения на модификаторы
  • Урок 157. 00:04:16
    Отладка процесса добавления нового элемента в односвязный список
  • Урок 158. 00:12:46
    Демонстрация работы метода добавления
  • Урок 159. 00:02:24
    Метод LinkedList.toArray
  • Урок 160. 00:08:07
    Демонстрация работы метода LinkedList.toArray
  • Урок 161. 00:02:14
    Реализация: Метод LinkedList.asString
  • Урок 162. 00:04:45
    Внутренний класс
  • Урок 163. 00:01:36
    Реализация: Метод LinkedList.clear
  • Урок 164. 00:06:30
    Что такое мусор с точки зрения Java?
  • Урок 165. 00:02:50
    Что такое утечка памяти в принципе?
  • Урок 166. 00:04:06
    Что называют утечкой памяти в Java?
  • Урок 167. 00:05:01
    Пример утечки памяти в Java
  • Урок 168. 00:03:33
    Анализ критичности выявленной утечки памяти
  • Урок 169. 00:00:14
    Исправление утечки памяти в методе LinkedList.clear
  • Урок 170. 00:02:16
    Почему нет такой проблемы в классе DynaArray?
  • Урок 171. 00:04:51
    Демонстрация утечки памяти в классе
  • Урок 172. 00:16:27
    Еще раз об утечке памяти в классе ObjectDynaArray
  • Урок 173. 00:11:44
    Реализация: Метод LinkedList.remove
  • Урок 174. 00:02:50
    Реализация: Метод LinkedList.size
  • Урок 175. 00:04:02
    Реализация: Более эффективная реализация
  • Урок 176. 00:01:08
    Реализация: Метод LinkedList.contains
  • Урок 177. 00:02:09
    Реализация: Перегрузка методов add для
  • Урок 178. 00:01:56
    Заметка: Сравнение методов добавления
  • Урок 179. 00:01:04
    Реализация: Добавление метода DynaArray.add
  • Урок 180. 00:07:25
    Реализация: Добавление метода LinkedList.add
  • Урок 181. 00:01:56
    Реализация: Оптимизировать метод LinkedList.toArray
  • Урок 182. 00:01:00
    Второй принцип ООП - Наследование
  • Урок 183. 00:06:07
    Устранение проблемы дублирование кода
  • Урок 184. 00:04:12
    Переопределение метода
  • Урок 185. 00:01:08
    Заметка: Использование правильного класса LinkedList
  • Урок 186. 00:04:10
    Что значит наследовать функциональность?
  • Урок 187. 00:03:03
    Переопределение метода vs перегрузка метода
  • Урок 188. 00:01:58
    Заметка: Достоинства внутренних классов
  • Урок 189. 00:04:41
    Аннотация @Override
  • Урок 190. 00:01:01
    Невозможность вызвать метод родительского
  • Урок 191. 00:05:03
    Ключевое слово super. Вызов переопределенного
  • Урок 192. 00:01:56
    Заметка: Когда this равен super?
  • Урок 193. 00:00:22
    Заметка: При переопределении метода генерируется
  • Урок 194. 00:01:12
    Заметка: Автоматически сгенерированные заглушки
  • Урок 195. 00:01:17
    Удаление дублирования функциональности очистки с
  • Урок 196. 00:00:51
    Порядок вызовов конструкторов в иерархии классов
  • Урок 197. 00:00:55
    Конструктор без параметров вызывается из
  • Урок 198. 00:02:07
    Ключевое слово super. Вызов конструктора
  • Урок 199. 00:02:30
    Передача реального значения по иерархии наследования
  • Урок 200. 00:02:08
    Заметка: Вызов метода из класса без
  • Урок 201. 00:01:05
    Заметка: Главное отличие синтаксиса
  • Урок 202. 00:00:54
    Заметка: Сравнение this() и super()
  • Урок 203. 00:01:01
    Ключевое слово final. Запрет на переопределение метода
  • Урок 204. 00:00:52
    Ключевое слово final. Запрет наследования
  • Урок 205. 00:05:28
    Создание нового класса на базе существующего
  • Урок 206. 00:02:35
    Композиция как альтернатива наследованию
  • Урок 207. 00:00:52
    Родительский класс может быть только один!
  • Урок 208. 00:01:54
    Каждый класс имеет родителя!
  • Урок 209. 00:00:25
    Заметка: Класс Object - единственный класс,
  • Урок 210. 00:00:51
    Класс Object - родитель для ВСЕХ классов в Java
  • Урок 211. 00:09:12
    Методы класса Object
  • Урок 212. 00:02:29
    Рефакторинг классов DynaArray и LinkedList
  • Урок 213. 00:03:06
    Java - типизированный язык программирования
  • Урок 214. 00:04:21
    Допустимость ссылки на родительский класс
  • Урок 215. 00:02:14
    Какой метод вызывается по родительской ссылке?
  • Урок 216. 00:05:56
    Алгоритм поиска метода перед его вызовом
  • Урок 217. 00:02:45
    На что влияет класс ссылки?
  • Урок 218. 00:05:34
    Позднее связывание.
  • Урок 219. 00:04:16
    Обновление класса BaseDataStructure
  • Урок 220. 00:04:26
    Понятие абстрактного класса
  • Урок 221. 00:01:02
    Объект абстрактного класса невозможно создать!
  • Урок 222. 00:02:18
    Каким образом использовать абстрактный класс в
  • Урок 223. 00:02:25
    Полностью абстрактный класс
  • Урок 224. 00:02:31
    Зачем нужен полностью абстрактный класс?
  • Урок 225. 00:01:19
    Понятие интерфейса
  • Урок 226. 00:08:08
    Понятие полиморфизма
  • Урок 227. 00:10:00
    Еще раз о полиморфизме: Интерфейс взаимодействия
  • Урок 228. 00:02:30
    Еще раз о полиморфизме: Провайдер данных из
  • Урок 229. 00:04:34
    Еще раз о полиморфизме: Провайдер данных из
  • Урок 230. 00:03:53
    Еще раз о полиморфизме: Резюме
  • Урок 231. 00:01:41
    Множественное наследование с помощью интерфейсов
  • Урок 232. 00:00:51
    Заметка: Возможность указать подтип в
  • Урок 233. 00:02:46
    Заметка: Возможность повысить модификатор
  • Урок 234. 00:00:57
    Определение класса объекта, используя
  • Урок 235. 00:02:30
    Оператор instanceof
  • Урок 236. 00:02:13
    Использование getClass
  • Урок 237. 00:03:02
    Отличие instanceof от getClass
  • Урок 238. 00:03:17
    Почему использование instanceof или getClass это плохо?
  • Урок 239. 00:02:39
    Концепция маркерного интерфейса
  • Урок 240. 00:02:56
    Корректное использование instanceof
  • Урок 241. 00:01:28
    Введение
  • Урок 242. 00:02:05
    Общий интерфейс для очереди и стека
  • Урок 243. 00:04:18
    Создание тестового класса
  • Урок 244. 00:02:07
    Общие требования к реализациям
  • Урок 245. 00:05:03
    Реализация: Класс очереди на базе массива
  • Урок 246. 00:01:02
    Реализация: Класс стека на базе массива
  • Урок 247. 00:05:34
    Реализация: Более правильное разбиение на классы
  • Урок 248. 00:02:37
    Заметка: альтернативная версия классов
  • Урок 249. 00:06:07
    Заметка: Почему предпочтение было отдано
  • Урок 250. 00:01:01
    Реализация: Базовый класс для стека и
  • Урок 251. 00:06:03
    Реализация: Класс очереди на базе связного списка
  • Урок 252. 00:06:38
    Реализация: Класс стека на базе связного списка
  • Урок 253. 00:04:05
    Реализация: Альтернативная версия классов
  • Урок 254. 00:05:58
    Шаблон любого модуля программы в
  • Урок 255. 00:04:59
    Алгоритм восстановления доступа к личному кабинету
  • Урок 256. 00:14:14
    Реальный пример: Фрагмент кода,
  • Урок 257. 00:10:47
    Реальный пример: Создание реализаций по умолчанию
  • Урок 258. 00:07:18
    Реальный пример: Тестирование
  • Урок 259. 00:06:52
    Реальный пример: Демонстрация преимуществ ООП
  • Урок 260. 00:02:43
    Заметка: Почему так популярен
  • Урок 261. 00:02:05
    Два основных вида классов:
  • Урок 262. 00:02:29
    Класс как структура данных: публичные поля
  • Урок 263. 00:03:14
    Проблема классов с публичными полями
  • Урок 264. 00:00:00
    Класс как структура данных: и
  • Урок 265. 00:02:04
    Обратная совместимость для Java - важный принцип!
  • Урок 266. 00:02:55
    Сравнение шаблонов по созданию классов
  • Урок 267. 00:05:05
    Понятие Java Bean
  • Урок 268. 00:01:38
    Самый частый сценарий создания JavaBean
  • Урок 269. 00:00:49
    JavaBean - это название шаблона!
  • Урок 270. 00:01:10
    Вариация шаблона JavaBean, позволяющего
  • Урок 271. 00:02:28
    Модификатор final для полей класса
  • Урок 272. 00:02:36
    Шаблон ImmutableObject на реальных примерах
  • Урок 273. 00:05:20
    Использование final локальных переменных
  • Урок 274. 00:00:00
    Принципы SOLID
  • Урок 275. 00:03:11
    SOLID: Принцип единственной ответственности
  • Урок 276. 00:03:48
    SOLID: Принцип открытости/закрытости
  • Урок 277. 00:04:40
    SOLID: Принцип подстановки Лисков
  • Урок 278. 00:03:12
    SOLID: Принцип разделения интерфейса
  • Урок 279. 00:03:04
    SOLID: Принцип инверсии зависимостей
  • Урок 280. 00:01:36
    Принцип DRY (Don’t repeat yourself)
  • Урок 281. 00:02:53
    Принцип KISS (Keep it simple, stupid)
  • Урок 282. 00:01:02
    Принцип YAGNI(You aren't gonna need it)
  • Урок 283. 00:03:56
    Принцип декомпозиции сложной системы
  • Урок 284. 00:00:15
    Введение
  • Урок 285. 00:02:42
    Генерация методов класса
  • Урок 286. 00:03:17
    Генерация классов по примеру
  • Урок 287. 00:02:06
    Использование встроенных шаблонов кода
  • Урок 288. 00:01:45
    Создание пользовательских шаблонов
  • Урок 289. 00:02:16
    Концентрация над бизнес задачей
  • Урок 290. 00:02:47
    Основные возможности рефакторинга
  • Урок 291. 00:01:06
    Автоматический импорт классов
  • Урок 292. 00:01:30
    Форматирование кода
  • Урок 293. 00:02:17
    Использование final локальных переменных
  • Урок 294. 00:06:23
    Реализация: Создание проекта в IntelliJ
  • Урок 295. 00:01:12
    Заметка: Терминал в IntellJ IDEA - это
  • Урок 296. 00:04:06
    Реализация: Корневой пакет и класс
  • Урок 297. 00:02:03
    Правило: Используйте автоформатирование
  • Урок 298. 00:10:31
    Алгоритм игры в крестики нолики в текстовом виде
  • Урок 299. 00:05:20
    Проверка составленного алгоритма игры в крестики-нолики
  • Урок 300. 00:03:26
    Проверка всех требований к программе,
  • Урок 301. 00:07:05
    Определение основных компонентов игры в крестики-нолики
  • Урок 302. 00:08:03
    Создание класса Game
  • Урок 303. 00:02:29
    Правило: Изменения в системе контроля
  • Урок 304. 00:05:56
    Генерация пустых классов, необходимых
  • Урок 305. 00:03:35
    Отделение структур данных от бизнес логики
  • Урок 306. 00:06:08
    Создание классов, описывающих основные
  • Урок 307. 00:05:52
    Правило: Полезность метода toString для классов-моделей
  • Урок 308. 00:01:57
    Напоминание: Обновление списка
  • Урок 309. 00:08:07
    Реализация: Логика отображения
  • Урок 310. 00:05:12
    Реализация: Случайный ход компьютера
  • Урок 311. 00:06:40
    Реализация: Логика проверки победителя
  • Урок 312. 00:08:06
    Реализация: Ход пользователя
  • Урок 313. 00:02:17
    Напоминание: Последний коммит возможно
  • Урок 314. 00:02:34
    Реализация: Логика проверки на ничью
  • Урок 315. 00:13:18
    В чем ошибка в компоненте DrawVerifier?
  • Урок 316. 00:01:48
    Расширение созданной программы
  • Урок 317. 00:03:31
    Если изменить программу сложно,
  • Урок 318. 00:03:58
    Реализация: Логика преобразования номера ячейки
  • Урок 319. 00:02:55
    Если задача описана классом,
  • Урок 320. 00:02:09
    Реализация: Интерфейс вместо класса
  • Урок 321. 00:01:56
    Реализация: Преобразование номера ячейки
  • Урок 322. 00:01:29
    Более эффективное преобразование номера
  • Урок 323. 00:06:35
    Демонстрация преимуществ следования принципам SOLID в проекте
  • Урок 324. 00:07:05
    Системы счисления
  • Урок 325. 00:03:14
    Установка HEX-editor плагин для Notepad++
  • Урок 326. 00:02:08
    Машинный код
  • Урок 327. 00:03:46
    Язык ассемблера
  • Урок 328. 00:05:57
    Программы пишутся под операционную систему и
  • Урок 329. 00:02:16
    Диалекты языка ассемблера
  • Урок 330. 00:09:23
    Ассемблирование программы на диалекте TASM под MSDOS
  • Урок 331. 00:03:29
    Использование среды разработки для
  • Урок 332. 00:05:46
    Высокоуровневые языки программирования
  • Урок 333. 00:01:12
    Что такое компилятор?
  • Урок 334. 00:02:03
    Компиляция программы на языке C под Windows
  • Урок 335. 00:02:20
    Компиляция программы на языке C под Linux
  • Урок 336. 00:04:38
    Заметка: Этапы компиляции программы на языке C
  • Урок 337. 00:02:35
    Компилятор создает приложение под операц
  • Урок 338. 00:02:21
    Использование среды разработки для компиляции
  • Урок 339. 00:02:12
    Что такое интерпретатор?
  • Урок 340. 00:01:10
    Интерпретатор для языка программирования JavaScript
  • Урок 341. 00:01:50
    Интерпретация программы на языке JavaScript на Windows
  • Урок 342. 00:01:57
    Интерпретация программы на языке JavaScript на Linux
  • Урок 343. 00:01:21
    Использование среды разработки для написания
  • Урок 344. 00:01:48
    Заметка: Терминал и командная строка - это тоже интерпретатор!
  • Урок 345. 00:02:08
    Особенности интерпретируемых языков программирования
  • Урок 346. 00:00:00
    Понятие платформы
  • Урок 347. 00:03:40
    Самые распространенные платформы на сегодняшний день
  • Урок 348. 00:04:09
    Заметка: Зачем нужны знания об архитектурах пр
  • Урок 349. 00:07:48
    Сравнение компиляторов и интерпретаторов
  • Урок 350. 00:07:59
    Java - компилируемый, а затем интерпретируемый
  • Урок 351. 00:01:12
    Что такое JDK?
  • Урок 352. 00:02:29
    В чем отличие JDK от JRE?
  • Урок 353. 00:05:12
    Новшество в Java 9: Утилита jlink
  • Урок 354. 00:06:15
    Компиляция и интерпретация байт-кода в Java
  • Урок 355. 00:01:58
    Связь между именем класса, именем файла
  • Урок 356. 00:03:04
    Новшество в Java 9: Запуск простых п
  • Урок 357. 00:02:12
    Просмотр байт-кода
  • Урок 358. 00:03:28
    Декомпиляция байт-кода
  • Урок 359. 00:03:18
    Заметка: Компиляция в режиме отладки
  • Урок 360. 00:09:02
    Понятие Classpath в Java. Что значит ClassNo
  • Урок 361. 00:04:03
    Переменная окружения CLASSPATH
  • Урок 362. 00:04:00
    Использование среды разработки для компиляции программ на Java
  • Урок 363. 00:01:40
    Автоматическая компиляция классов средой Intell
  • Урок 364. 00:10:26
    Понятие jar-архива
  • Урок 365. 00:02:49
    Classpath может содержать не только классы,
  • Урок 366. 00:05:57
    Создание самозапускающегося jar-архива
  • Урок 367. 00:02:03
    Альтернативный способ создать самозапускающ
  • Урок 368. 00:01:12
    Заметка: Самозапускающий jar-архив возможно и
  • Урок 369. 00:00:41
    Декомпилятор может открывать jar-архивы!
  • Урок 370. 00:08:22
    Что такое обфускатор?
  • Урок 371. 00:02:40
    Использование среды разработки для создание jar-архива
  • Урок 372. 00:01:42
    IntellJ IDEA использует сконфигурированный JDK для проекта!
  • Урок 373. 00:05:44
    Что такое кроссплатформенность?
  • Урок 374. 00:07:10
    Java - кроссплатформенный язык программирования
  • Урок 375. 00:03:05
    Заметка: Новшество в Java 9: Утилита jshell
  • Урок 376. 00:09:52
    Заметка: Использование jshell для написания
  • Урок 377. 00:00:38
    Основные способы передачи параметров в J
  • Урок 378. 00:02:42
    Использование переменных окружения для передачи
  • Урок 379. 00:02:12
    Использование свойств для передачи параметр
  • Урок 380. 00:02:45
    Использование аргументов командной строки
  • Урок 381. 00:03:50
    Использование конфигурационного файла для
  • Урок 382. 00:01:59
    Что такое процесс?
  • Урок 383. 00:02:30
    Стандартные потоки ввода-вывода процесса
  • Урок 384. 00:01:58
    Взаимодействие со стандартными пот
  • Урок 385. 00:04:05
    Перенаправление стандартных потоков
  • Урок 386. 00:04:11
    JIT компиляция
  • Урок 387. 00:02:09
    AOT компиляция
  • Урок 388. 00:04:54
    Демонстрация работы AOT компил
  • Урок 389. 00:03:02
    Различные среды выполнения байт кода
  • Урок 390. 00:02:15
    В современном мире не все так однозначно!
  • Урок 391. 00:00:59
    Введение
  • Урок 392. 00:04:32
    Местоположение домашнего каталога на
  • Урок 393. 00:09:59
    Отличие в исполняемых файлах
  • Урок 394. 00:02:21
    Запуск исполняемых файлов из текущ
  • Урок 395. 00:06:27
    Интерпретаторы командной строки
  • Урок 396. 00:05:27
    Проблемы, связанные с разными командными
  • Урок 397. 00:05:52
    Что такое шебанг?
  • Урок 398. 00:06:22
    Что такое скрипты?
  • Урок 399. 00:04:07
    Зачем знания по созданию скриптов Java разработчику?
  • Урок 400. 00:03:41
    Расширение .sh для скриптов запуска дл
  • Урок 401. 00:05:43
    Демонстрация ошибки, которая может во
  • Урок 402. 00:05:09
    Признак новой строки в текстовом файле
  • Урок 403. 00:04:27
    Как удалить символ \r в Unix-подобной ОС
  • Урок 404. 00:01:16
    Разделитель элементов пути к файлу
  • Урок 405. 00:02:42
    В java можно использовать символ /
  • Урок 406. 00:01:53
    Разделитель абсолютных и относительных путей
  • Урок 407. 00:01:14
    Регистрозависисмость имен файлов и каталогов
  • Урок 408. 00:01:33
    Регистрозависимость команд интерпре
  • Урок 409. 00:01:51
    Признак скрытых файлов и каталогов
  • Урок 410. 00:02:12
    Напоминание: Отображение скрытых файлов и
  • Урок 411. 00:02:14
    Работа с переменными окружения
  • Урок 412. 00:02:51
    Доступность переменных окружения в дочерних процессах
  • Урок 413. 00:00:24
    Признак комментария в скриптах запуска
  • Урок 414. 00:04:53
    Формат архивов: ZIP и TAR.GZ
  • Урок 415. 00:02:31
    Символы продолжения команды с новой строки
  • Урок 416. 00:02:53
    Использование полученных знаний на практике
  • Урок 417. 00:03:36
    Задержка окна консоли в Windows
  • Урок 418. 00:04:21
    Задержка окна консоли в Unix
  • Урок 419. 00:02:26
    Извлечение специфических настроек для
  • Урок 420. 00:00:00
    Что такое XML?
  • Урок 421. 00:04:02
    Сохранение конфигураций в формате XML
  • Урок 422. 00:03:44
    Что такое тег? Требования к тегам в XML
  • Урок 423. 00:00:53
    Корневым может быть только один тег!
  • Урок 424. 00:01:36
    Что такое атрибуты тега?
  • Урок 425. 00:01:07
    Атрибуты vs вложенные теги
  • Урок 426. 00:01:14
    Комментарии в XML
  • Урок 427. 00:01:53
    Специальные символы в XML
  • Урок 428. 00:01:39
    Как использовать специальные символы
  • Урок 429. 00:02:28
    Секция CDATA
  • Урок 430. 00:01:09
    Инструкции обработки
  • Урок 431. 00:02:23
    Объявление XML
  • Урок 432. 00:01:33
    Вложенность тегов должна быть корректной!
  • Урок 433. 00:01:04
    Пробельные символы игнорируются!
  • Урок 434. 00:03:44
    Примеры XML конфигураций
  • Урок 435. 00:06:22
    Что такое расширение XML?
  • Урок 436. 00:00:00
    Что такое DTD?
  • Урок 437. 00:03:36
    Что такое XSD?
  • Урок 438. 00:02:49
    DTD и XSD - это альтернативные способы за
  • Урок 439. 00:02:45
    Как загрузить XSD или DTD файл в среду разр
  • Урок 440. 00:03:23
    Зачем нужны сборщики проекта?
  • Урок 441. 00:00:14
    Автоматизация сборки для Java
  • Урок 442. 00:03:31
    Использование скриптов для сборки проекта на Java
  • Урок 443. 00:02:40
    Написание программы на Java, кот
  • Урок 444. 00:04:22
    Упрощение программы на Java, ко
  • Урок 445. 00:09:00
    Сборщик проектов Apache Ant: Простейший скрипт
  • Урок 446. 00:07:49
    Сборщик проектов Apache Ant: Корректный формат скрипта
  • Урок 447. 00:04:35
    Проблемы сборщика проектов Apache Ant
  • Урок 448. 00:00:00
    Проблемы сборщика проектов Apache Ant н
  • Урок 449. 00:05:34
    В чем идея декларативного сборщика пр
  • Урок 450. 00:00:00
    Сборщик проектов Apache Maven
  • Урок 451. 00:08:11
    Сравнение сборщиков Apache Ant и Apach
  • Урок 452. 00:06:53
    Сборщик проектов Gradle
  • Урок 453. 00:04:16
    Сравнение сборщиков проектов: Apache Ant, Apac
  • Урок 454. 00:01:20
    Что такое Apache Maven?
  • Урок 455. 00:04:41
    Как установить Apache Maven на компьютер?
  • Урок 456. 00:01:46
    При использовании IntelliJ IDEA нет необх
  • Урок 457. 00:01:43
    Обновление переменной окружения PATH
  • Урок 458. 00:01:43
    Создание Apache Maven проекта в IntelliJ IDEA
  • Урок 459. 00:02:42
    pom.xml - единственный конфигурационный фа
  • Урок 460. 00:02:02
    Стандартная структура каталогов в Apache Maven
  • Урок 461. 00:06:22
    Жизненные циклы проекта в Apache Maven
  • Урок 462. 00:04:29
    Выполнение Apache Maven фаз жизненных
  • Урок 463. 00:01:53
    Использование терминала для выполнения
  • Урок 464. 00:00:53
    Центральный репозиторий Apache Maven
  • Урок 465. 00:05:37
    Подключение зависимостей в Apache Maven проект
  • Урок 466. 00:02:53
    Поддержка транзитивных зависимостей
  • Урок 467. 00:05:31
    Локальный репозиторий Apache Maven
  • Урок 468. 00:10:51
    Основные фазы жизненных циклов Apache
  • Урок 469. 00:03:13
    Основные фазы жизненных циклов Apach
  • Урок 470. 00:04:01
    Основные фазы жизненных циклов Apache Maven в
  • Урок 471. 00:05:46
    Какие фазы жизненного цикла чаще всего используются?
  • Урок 472. 00:13:32
    Apache Maven использует плагины для выполне
  • Урок 473. 00:14:19
    Какие плагины используются по-умолчани
  • Урок 474. 00:03:36
    Напоминание: Запуск фаз жизненнег
  • Урок 475. 00:11:08
    Заметка: mvn - это скрипт запуска Apache Maven!
  • Урок 476. 00:01:14
    Запуск нестандартных фаз жизненного цикела
  • Урок 477. 00:05:12
    В чем отличие запуска фазы жизненног
  • Урок 478. 00:04:05
    Обновление версий уже сконфигурированных плагинов
  • Урок 479. 00:01:49
    Рекомендации по выбору версий программного обеспечения
  • Урок 480. 00:03:20
    Пример генерации простейшей проектной документации
  • Урок 481. 00:06:26
    Версионирование программного обеспечения
  • Урок 482. 00:05:25
    Квалификатор SNAPSHOT
  • Урок 483. 00:12:59
    Подключение плагинов, расширяющих
  • Урок 484. 00:06:41
    Конфигурация плагинов
  • Урок 485. 00:04:22
    Использование свойств для указания номера версий
  • Урок 486. 00:06:43
    Адаптация Apache Maven под существующий проект
  • Урок 487. 00:07:23
    Встроенные свойства Maven проекта
  • Урок 488. 00:01:56
    Исправление замечания: build is platform dependent!
  • Урок 489. 00:08:15
    Использование свойств для конфигурации запуска
  • Урок 490. 00:06:22
    Создание проектной документации с
  • Урок 491. 00:02:38
    Использование свойств для разных сборок одно
  • Урок 492. 00:02:13
    Несколько файлов pom.xml для разных сборо
  • Урок 493. 00:05:05
    Использование Maven профилей для разных сбор
  • Урок 494. 00:07:27
    Реальный пример использования Maven профилей
  • Урок 495. 00:03:07
    Автоматическая активация Maven профилей
  • Урок 496. 00:07:01
    Использование Maven архетипов
  • Урок 497. 00:01:57
    Использование утилиты mvn для создания проекта
  • Урок 498. 00:07:28
    Создание многомодульных проектов в Maven
  • Урок 499. 00:09:49
    Типичный проект автономного приложения для Apache Maven
  • Урок 500. 00:05:21
    Заметка: Что значит уровень компиляции 1.7?
  • Урок 501. 00:08:48
    Уровени видимости зависимостей (Dependenc
  • Урок 502. 00:02:47
    Какие этапы разработки проекта нуждаю
  • Урок 503. 00:09:55
    Демонстрация уровня видимости зависимостей compile
  • Урок 504. 00:03:38
    Демонстрация уровня видимости зависимостей provided
  • Урок 505. 00:08:00
    Демонстрация уровня видимости зависимостей runtime
  • Урок 506. 00:01:14
    Демонстрация уровня видимости зависимостей test
  • Урок 507. 00:02:25
    Демонстрация уровня видимости зависимостей system
  • Урок 508. 00:01:11
    Упрощение тестового проекта для демонстрации
  • Урок 509. 00:03:00
    Преимущества Apache Maven: сборка проекта в среде IntelliJ IDEA
  • Урок 510. 00:02:39
    Преимущества Apache Maven: сборка проекта в среде Eclipse
  • Урок 511. 00:03:31
    Преимущества Apache Maven: сборка проекта в среде Apache NetBeans
  • Урок 512. 00:02:07
    Преимущества Apache Maven: сборка проекта, используя терминал
  • Урок 513. 00:02:40
    Заметка: Игнорирование файлов, специфичных для каждой IDE
  • Урок 514. 00:01:07
    Что делать, если нет нужного плагина?
  • Урок 515. 00:05:22
    Нестандартное действие в Maven: создание собственного плагина
  • Урок 516. 00:09:19
    Нестандартное действие в Maven: запуск скрипта операционной системы
  • Урок 517. 00:05:21
    Нестандартное действие в Maven: запуск Java класса
  • Урок 518. 00:03:10
    Нестандартное действие в Maven: запуск Ant скрипта
  • Урок 519. 00:07:24
    Заметка: Maven профиль для пользовательского плагина
  • Урок 520. 00:01:41
    Рекомендуемый способ выполнить нестандартное действие в процессе сборки проекта
  • Урок 521. 00:00:49
    Шаблон Maven проекта для курса
  • Урок 522. 00:05:12
    Реализация: Конвертация проекта игры в крестики-нолики в Maven проект
  • Урок 523. 00:02:20
    Реализация: Создание самозапускающегося jar архива
  • Урок 524. 00:05:07
    Реализация: Скрипт запуска игры для операционной системы Windows
  • Урок 525. 00:01:32
    Реализация: Скрипт запуска игры для Unix-подобных операционных систем
  • Урок 526. 00:04:58
    Проверка скрипта на другой платформе
  • Урок 527. 00:02:58
    Как передать конечному пользователю игру крестики-нолики
  • Урок 528. 00:13:05
    Сборка проекта для Windows, используя maven-assembly-plugin
  • Урок 529. 00:05:39
    Дополнительные сведения по assembly дескриптору
  • Урок 530. 00:03:24
    Реализация: Сборка проекта для Unix, используя maven-assembly-plugin
  • Урок 531. 00:04:35
    Исправление скриптов запуска
  • Урок 532. 00:03:05
    Исправление файла NOTICE
  • Урок 533. 00:01:36
    Реализация: Обновление скриптов запуска - добавление задержки в конце игры
  • Урок 534. 00:15:07
    Проверка работоспособности первой версии под Windows, MacOS и Linux
  • Урок 535. 00:03:55
    Введение в формат MarkDown
  • Урок 536. 00:02:44
    Реализация: Обновление файла Readme.md
  • Урок 537. 00:09:40
    Создание assembly дескриптора с JRE под Windows
  • Урок 538. 00:03:19
    Реализация: Создание assembly дескрипторов с JRE под MacOS и под Linux
  • Урок 539. 00:02:30
    11 версия Java в названии папок вводит в заблуждение!
  • Урок 540. 00:06:46
    Реализация: Профили maven для создания архивов с JRE и без JRE
  • Урок 541. 00:11:57
    Создание образов JRE, используя Ant скрипт
  • Урок 542. 00:05:24
    Использование maven-antrun-plugin
  • Урок 543. 00:02:39
    Реализация: Обновление файла Readme.md
  • Урок 544. 00:11:41
    Обфускация байт кода игры, используя proguard
  • Урок 545. 00:09:14
    Обновление стартовых скриптов
  • Урок 546. 00:02:54
    Подготовка к тестированию сборок
  • Урок 547. 00:06:37
    Проверка работоспособности версии с JRE и без JRE под Windows
  • Урок 548. 00:16:08
    Проверка работоспособности версии с JRE и без JRE под MacOS
  • Урок 549. 00:06:57
    Проверка работоспособности версии с JRE и без JRE под Linux
  • Урок 550. 00:03:33
    Важность атрибута исполняемости при запуске скрипта под Unix
  • Урок 551. 00:03:37
    Релиз второй версии игры крестики-нолики
  • Урок 552. 00:02:33
    Обновление версии игры в pom.xml
  • Урок 553. 00:05:22
    Статические поля класса
  • Урок 554. 00:02:00
    Статические методы
  • Урок 555. 00:06:00
    Для доступа к статическим полям нужен класс, а не объект!
  • Урок 556. 00:02:19
    Для доступа к статическим методам нужен класс, а не объект!
  • Урок 557. 00:04:23
    Статические константы
  • Урок 558. 00:02:08
    Заметка: В интерфейсе все поля - статические константы!
  • Урок 559. 00:04:05
    Статические секции
  • Урок 560. 00:01:21
    Напоминание: Статические внутренние классы - удобны для демонстрации!
  • Урок 561. 00:08:41
    Статический импорт
  • Урок 562. 00:07:15
    Статические vs нестатические конструкции
  • Урок 563. 00:07:04
    Статические конструкции - глобальны, а нестатические - локальны!
  • Урок 564. 00:05:52
    Когда использовать статические методы вместо обычных?
  • Урок 565. 00:07:19
    Понятие утилитного класса
  • Урок 566. 00:05:54
    Статические методы НЕ ПОЛИМОРФНЫ!
  • Урок 567. 00:05:40
    Шаблон проектирования Singleton
  • Урок 568. 00:01:48
    Статический внутренний класс
  • Урок 569. 00:05:25
    Создание объекта, используя статический метод
  • Урок 570. 00:01:28
    Процедурное программирование vs ООП
  • Урок 571. 00:02:54
    Является ли Java объектно-ориентированным
  • Урок 572. 00:01:22
    Проблема, которую решают перечисления
  • Урок 573. 00:03:00
    Решение № 1: Статические константы целого типа
  • Урок 574. 00:05:17
    Решение № 2: Статические константы пользовательского типа
  • Урок 575. 00:02:00
    Решение № 3: Использование перечисления
  • Урок 576. 00:11:48
    Базовый класс перечислений. Стандартные методы
  • Урок 577. 00:04:25
    Пользовательские поля и методы в перечислении
  • Урок 578. 00:03:09
    Расширение интерфейсов в перечислении
  • Урок 579. 00:06:21
    Пример использования перечисления для предо
  • Урок 580. 00:00:10
    Введение
  • Урок 581. 00:00:22
    Публичный класс
  • Урок 582. 00:00:51
    Непубличный класс
  • Урок 583. 00:00:42
    Финальный класс
  • Урок 584. 00:02:18
    Абстрактный класс
  • Урок 585. 00:01:45
    Заметка: Рекомендация для абстрактного класса без абстрактных методов
  • Урок 586. 00:01:21
    Интерфейс
  • Урок 587. 00:00:56
    Аннотация
  • Урок 588. 00:01:10
    Перечисление
  • Урок 589. 00:06:34
    Внутренний нестатический класс
  • Урок 590. 00:03:42
    Внутренний статический класс
  • Урок 591. 00:02:04
    Внутренними могут быть не только классы!
  • Урок 592. 00:08:52
    Анонимный класс
  • Урок 593. 00:05:15
    Почему это все - типы классов?
  • Урок 594. 00:02:58
    Доступ к доступным внутренним классам в исходном коде
  • Урок 595. 00:02:47
    Что такое функциональный интерфейс?
  • Урок 596. 00:13:47
    Лямбда-выражение
  • Урок 597. 00:08:57
    Ссылка на метод
  • Урок 598. 00:03:40
    Дескриптор модуля module-info.java
  • Урок 599. 00:02:25
    Файл package-info.java
  • Урок 600. 00:03:32
    Почему char тип не лучший выбор для типа ячейки игрового поля?
  • Урок 601. 00:04:11
    Реализация: Создание перечисления Sign
  • Урок 602. 00:07:30
    Использование лямба-выражения для уменьшения дублирования кода
  • Урок 603. 00:04:13
    Реализация: Устранение дублирования кода в
  • Урок 604. 00:01:51
    Реализация: Устранение дублирования кода в кла
  • Урок 605. 00:11:24
    Создание класса Player
  • Урок 606. 00:06:51
    Упрощение класса Game
  • Урок 607. 00:04:22
    Шаблон фабрики создания игры
  • Урок 608. 00:03:20
    Заметка: Специальные комментарии TODO и FIXME!
  • Урок 609. 00:08:18
    Реализация: Доработка класса GameFactory
  • Урок 610. 00:04:51
    Как запустить программу с командными агрументам
  • Урок 611. 00:06:20
    Исправление конфигурации для proguard
  • Урок 612. 00:06:01
    Рефакторинг класса GameFactory
  • Урок 613. 00:08:00
    Выделение интерфейсов взаимодействия с консолью
  • Урок 614. 00:06:14
    Реализация: Реализовать интерфейсы взаимодействия с консолью
  • Урок 615. 00:07:14
    Реализация: Использовать созданные интерфейсы
  • Урок 616. 00:11:06
    Создание графического интерфейса
  • Урок 617. 00:06:35
    Реализация: Тип пользовательского интерфе
  • Урок 618. 00:07:12
    Реализация: Исправить ошибки в proguard
  • Урок 619. 00:09:41
    Изменения в логике поддержке двух типов
  • Урок 620. 00:09:49
    Подготовка к распространению версии
  • Урок 621. 00:03:23
    Реализация: Создание скриптов запуска с
  • Урок 622. 00:06:41
    Проверка программного обеспечения перед релизом
  • Урок 623. 00:04:01
    Релиз третьей версии и обновление версии в pom.xml
  • Урок 624. 00:10:52
    Взаимодействие программы с консолью. Что такое
  • Урок 625. 00:06:43
    Взаимодействие с консолью в Java программах
  • Урок 626. 00:08:15
    Ошибки в Java и их преобразование в ошибку программы
  • Урок 627. 00:04:00
    Поток выполнения прерывается: при возникновении ош
  • Урок 628. 00:07:42
    Перехват ошибок. Конструкция try/catch
  • Урок 629. 00:06:42
    Способы выброса исключения
  • Урок 630. 00:03:38
    Основной признак класса исключения
  • Урок 631. 00:03:59
    Основные классы исключений
  • Урок 632. 00:07:04
    Проверяемые и непроверяемые исключения. Оп
  • Урок 633. 00:04:06
    Рекомендации по использованию проверяемых и н
  • Урок 634. 00:13:37
    Обработка проверяемых и непроверяемых исклю
  • Урок 635. 00:08:18
    Перехват разных классов с разными алгоритмами обработки
  • Урок 636. 00:05:34
    Заметка: Режим отладки позволяет посмотреть
  • Урок 637. 00:04:42
    Напоминание: Отличие команд F7 от F8 в IntelliJ IDEA
  • Урок 638. 00:08:50
    Перехват родительского класса
  • Урок 639. 00:09:10
    Еще раз об отличии Exception от Error!
  • Урок 640. 00:05:01
    Перехват дочернего и родительского классов
  • Урок 641. 00:05:44
    Перехват разных классов с одинаковым алгоритмом обработки
  • Урок 642. 00:06:01
    Блок finally
  • Урок 643. 00:07:02
    Варианты конструкции try, catch, finally
  • Урок 644. 00:05:20
    Какой код должен быть в блоке finally?
  • Урок 645. 00:01:52
    В каких случаях блок finally не выполнится?
  • Урок 646. 00:07:39
    Что такое трасса стека?
  • Урок 647. 00:09:50
    Важные характеристики ошибки: класс исключения
  • Урок 648. 00:05:52
    Пользовательские исключения
  • Урок 649. 00:08:06
    В любой непонятной ситауции - бросайте исключение!
  • Урок 650. 00:21:56
    Конвертация исключений!
  • Урок 651. 00:09:04
    Дополнительная характеристика: причина ошибки!
  • Урок 652. 00:07:39
    Агрегация исключений. Метод addSuppressed
  • Урок 653. 00:04:46
    Заметка: Корректировка трассы стека!
  • Урок 654. 00:11:39
    Конфигурация характеристик Вашего класса исключений
  • Урок 655. 00:07:14
    Рекомендации по выбору характеристик д
  • Урок 656. 00:03:43
    Клонирование репозитория и импорт
  • Урок 657. 00:01:11
    Реализация: Генерация ошибки вместо значения null
  • Урок 658. 00:02:49
    Напоминание: Установка автора коммитов после кло
  • Урок 659. 00:13:43
    Почему важно выбрасывать исключения даже тогда, к
  • Урок 660. 00:05:41
    Реализация: Использование бизнес ошибок предпох
  • Урок 661. 00:02:01
    Реализация: Искусственное ограничение на вхо
  • Урок 662. 00:04:55
    Реализация: Алгоритм случайного хода компьют
  • Урок 663. 00:03:03
    Напоминание: Задержка отображения консоли !
  • Урок 664. 00:05:44
    Реализация: Обновление ошибок обработки
  • Урок 665. 00:10:35
    Использование стратегий для возможности ра
  • Урок 666. 00:03:58
    Реализация: Стратегия первого хода в центр поля
  • Урок 667. 00:09:28
    Реализация: Стратегия победить сейчас
  • Урок 668. 00:09:33
    Реализация: Заменить код на лямбду в классе Wi
  • Урок 669. 00:03:48
    Реализация: Стратегия предотвратить побед
  • Урок 670. 00:08:45
    Реализация: Стратегия предотвратить побед
  • Урок 671. 00:07:03
    Реализация: Стратегия выиграть на следующем шаге
  • Урок 672. 00:11:02
    Реализация: Случайность выбора свободной ячейки
  • Урок 673. 00:22:47
    Принципы ООП на примере проекта игры в крестики-нолики!
  • Урок 674. 00:13:07
    Реализация: Уровень сложности для хода компьютера
  • Урок 675. 00:28:21
    Принципы проектирования на примере пр
  • Урок 676. 00:02:22
    Релиз четвертой версии и обновление версии в pom.xml