Введение....7
Выражения....13
Основные операторы....19
Переменные....22
Строки и печать....25
Условия if и else....29
Выражение switch....33
Тернарный оператор....36
Циклы while и for....41
Массивы....46
Представление данных и типы данных....51
Методы....57
Область видимости переменных....62
Комментарии. Javadoc....71
Исключения....76
Рекурсия....84
Инкапсуляция. Объекты и классы....94
Классы и типы....98
Область видимости....102
Наследование....106
Приведение типов....110
Полиморфизм....113
Переопределение и перегрузка....115
Примитивы и объекты....123
Абстракция....133
Интерфейсы. Абстрактные методы и классы....135
Пакеты....143
Абстрактные классы vs Интерфейсы....148
Интерфейсы программирования API. Стандартная библиотека Java....151
Вложенные классы....162
Перечисления....166
Компиляция и выполнение программ....170
Модульность....178
Моделирование с UML....185
Синтаксические ошибки....188
Выявление ошибок....194
Отладка кода....200
Тестирование кода....203
Модульное тестирование....210
Интеграционное тестирование....218
Рефакторинг кода....228
Java Collections Framework....237
Общие понятия....239
Структурированные данные....241
ArrayList....251
HashMap....258
Дженерики....265
Потоки коллекций и фильтры....271
Коллекции в Java 9....276
Java Reflection....278
Лямбда-выражения. Синтаксис лямбда....287
Функциональные интерфейсы....296
Потоки Stream....303
Параллельные и бесконечные потоки....313
Потоки Stream в Java 9....319
Java Date/Time API....322
Основы ввода-вывода....328
Сериализация....341
Символьные потоки....348
Java NIO....356
File NIO....371
Ввод-вывод в Java 9....380
Хранение данных....382
JDBC....384
Пример....387
PreparedStatement....396
Транзакции....397
DataSource....399
Локализация и интернационализация. Введение....401
Наборы ресурсов....403
Интернационализация чисел, валюты, даты и времени....408
Проверка вводимых данных....414
Основы сетевого взаимодействия....419
Сокеты....424
Серверный сокет....427
Клиентский сокет....429
Использование URL....431
Обмен Java объектами....434
UDP, широковещательные сообщения, многоадресная рассылка....437
Remote Method Invocation....441
HTTP/2 клиент в Java 9....445
Разработка ПО....451
Системы контроля версий....457
CVS....459
Subversion....461
Subversion в IntelliJ IDEA....463
Git....470
Git в IntelliJ IDEA....473
Основы системы безопасности Java. Введение....482
Менеджер безопасности....491
Привилегированные блоки....501
Защищенные объекты....506
Введение в Java криптографию....508
Целостность и конфиденциальность данных....515
Аутентификация и авторизация....526
Эта книга предназначена для тех, кто хочет научиться программировать на языке Java. С этой книгой вы обучитесь объектно-ориентированному программированию на платформе Java SE и научитесь применять принципы ООП на практике. Эта книга охватывает важные аспекты программирования на языке Java, начиная с основ и заканчивая объектно-ориентированным подходом и командной разработкой кода.