План на курса

Въведение в Java

  • История и еволюция на Java
  • Преглед на Java версии и актуализации
  • Какво е новото в Java 17
  • Настройване на Java комплект за разработка (JDK 17) и IDE

Java Структура на програмата

  • Писане на проста Java програма
  • Java преглед на синтаксиса
  • Компилиране и стартиране на Java приложения

Типове данни и променливи

  • Примитивни типове данни и класове обвивки
  • Деклариране на променливи и константи
  • Типово преобразуване и отливане

Оператори в Java

  • Аритметични, релационни, логически и побитови оператори
  • Предимство на оператора и асоциативност

Изявления за контролен поток

  • Условни изрази (if-else, switch)
  • Циклични конструкции (for, while, do-while)
  • Подобрени изрази за превключване (функция Java 17)

Въведение в ООП концепциите

  • Класове и обекти
  • Капсулиране, наследяване, полиморфизъм и абстракция

Създаване на класове и обекти

  • Деклариране и инициализиране на обекти
  • Тази ключова дума
  • Конструктори (по подразбиране и параметризирани)

Наследство

  • Разширяване на класове (ключова дума extends)
  • Замяна на метод и супер ключова дума
  • Абстрактни класове и методи

Полиморфизъм

  • Полиморфизъм по време на компилиране срещу време на изпълнение
  • Претоварване и отмяна на метода

Интерфейси

  • Дефиниране и внедряване на интерфейси
  • Функционални интерфейси и методи по подразбиране

Записване на класове (Java 17 функция)

  • Разбиране на записите в Java 17
  • Как записите опростяват капсулирането на данни

Генерични продукти в Java

  • Разбиране на параметрите на типа
  • Генерични класове, методи и интерфейси
  • Ограничени типове и заместващи знаци

Обработка на изключения

  • Видове изключения (маркирани и немаркирани)
  • Опитай-хвани-накрая блокове
  • Хвърляне и прихващане на изключения
  • Създаване на персонализирани изключения

Java Рамка за колекции

  • Интерфейси за списък, набор, карта и опашка
  • Популярни реализации: ArrayList, HashMap, HashSet
  • Итератори и подобрени for цикли

Ламбда Express йони и функционални Programming

  • Въведение в ламбда изразите
  • Синтаксис и използване
  • Функционални интерфейси

API за поток

  • Преглед на Java потоци
  • Поточни операции (филтриране, картографиране, намаляване)
  • Паралелни потоци и съображения за производителност

Запечатани класове

  • Дефиниране и използване на запечатани класове
  • Разрешени подкласове и ограничения

Съвпадение на шаблон за instanceof (Java 17 функция)

  • Опростяване на типовите проверки със съпоставяне на шаблони

Текстови блокове

  • Работа с многоредови текстови блокове в Java
  • Сравнение с традиционната обработка на низове

Подобрения в записите и сериализацията

  • Сериализация и обратна съвместимост
  • Как записите подобряват четливостта и поддръжката на кода

Освобождаване и премахване на функции

  • Отхвърлени API в Java 17
  • Премахване на остарели функции

Switch Expression Подобрения

  • Съвпадение на шаблон в превключвател
  • Използване на изрази за превключване за по-чист код

API за външни функции и памет (инкубатор)

  • Преглед на инкубаторния модул
  • Работа с естествен код в Java

Java Модулна система (проект Jigsaw)

  • Въведение в модулите в Java
  • Създаване и използване на модули
  • Дескриптори на модули и module-info.java
  • Предимства на модулацията

Паралелност и многопоточност

  • Въведение в нишките и многонишковостта
  • Runnable интерфейс и Callable интерфейс
  • Синхронизация, ключалки и безопасност на нишката

Асинхронен Programming с CompetableFuture

  • Писане на асинхронен код
  • Използване на CompetableFuture за неблокиращи операции

Разполагане на Java приложения

  • Създаване и изпълнение на JAR файлове
  • Опаковане и разпространение Java на приложения
  • Въведение в GraalVM (по избор)

Най-добри практики и оптимизация на кода

  • Писане на ефективен и поддържаем Java код
  • Често срещани капани в производителността и как да ги избегнете
  • Техники за рефакторинг на код

Обобщение и следващи стъпки

Изисквания

  • Основни познания по програмиране

Публика

  • Разработчици на софтуер
  • Програмисти
 35 Часа

Брой участници


Цена за участник

Предстоящи Курсове

Свързани Kатегории