Урок 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
pdf-ка находится в поисковике без проблем