Затмение - https://courses.in28minutes.com/p/eclipse-tutorial-for-beginners
Maven - https://courses.in28minites.com/p/maven-tutorial-for-beginners-in-5-steps
JUnit — https://courses.in28minites.com/p/junit-tutorial-for-beginners
PDF: https://github.com/in28минуты/java-a-course-for-beginners/blob/master/InstallingJavaAndEclipse.pdf
Мы любим программирование. Наша цель в этом курсе — привить любовь к программированию.
Java — один из самых популярных языков программирования. Java предлагает как объектно-ориентированные, так и функциональные возможности программирования.
Мы применяем практический подход, используя комбинацию JShell (потрясающая новая функция в Java 9) и Eclipse в качестве IDE, чтобы проиллюстрировать более 200 упражнений по кодированию, головоломок и примеров кода на Java.
За более чем 250 шагов мы рассмотрим наиболее важные функции языка программирования Java.
Основы программирования на Java — выражения, переменные и вывод на печать
Операторы Java — оператор присваивания Java, реляционные и логические операторы, операторы короткого замыкания
Условные обозначения Java и оператор if
Методы — параметры, аргументы и возвращаемые значения
Обзор платформы Java — Java, Javac, байт-код, JVM и независимость платформы — JDK против JRE против JVM
Объектно-ориентированное программирование – класс, объект, состояние и поведение
Основы ООП — инкапсуляция, абстракция, наследование и полиморфизм
Основы типов данных Java: приведение типов, операторы и многое другое
Встроенные классы Java — классы BigDecimal, String, Java-оболочки
Условные выражения в Java — оператор If Else, вложенный оператор If Else, оператор переключения Java, тернарный оператор Java
Циклы — цикл For, цикл while в Java, цикл Do while, разрыв и продолжение
Неизменяемость классов Java-оболочек, String и BigDecimal
Даты Java – введение в LocalDate, LocalTime и LocalDateTime
Java Array и ArrayList — строковые массивы Java, массивы объектов, примитивные типы данных, toString и исключения
Введение в переменные аргументы
Основы проектирования класса — класс, объект, состояние и поведение. Определение состояния и конструкторов.
Понимание композиции и наследования объектов
Абстрактный класс Java и интерфейсы. Введение в полиморфизм.
Коллекции Java — интерфейс списка (ArrayList, LinkedList и Vector), интерфейс набора (HashSet, LinkedHashSet и TreeSet), интерфейс очереди (PriorityQueue) и интерфейс карты (HashMap, HashTable, LinkedHashMap и TreeMap() — сравнивать, сравнивать и выбирать
Дженерики. Зачем нам нужны дженерики? Ограничения с расширениями и универсальными методами, WildCards — верхняя граница и нижняя граница.
Функциональное программирование — лямбда-выражение, поток и операции над потоком (промежуточные операции — сортировка, различение, фильтрация, отображение и терминальные операции — максимум, минимум, сбор в список), функциональные интерфейсы — интерфейс предикатов, потребительский интерфейс, функциональный интерфейс для сопоставления, Ссылки на методы — статические методы и методы экземпляров
Введение в потоки и многопоточность — необходимость потоков
Реализация потоков — расширение класса потока и реализация Runnable интерфейса
Состояния потока и связь между потоками
Введение в службу Executor — настройка количества активных потоков. Возвращение будущего, вызоваAll и вызоваAny
Введение в обработку исключений — ваш мыслительный процесс во время обработки исключений. попробуй, поймай и наконец. Иерархия исключений — проверенные исключения и непроверенные исключения. Вызов исключения. Создание и выдача пользовательского исключения — CurrencyDoNotMatchException. Попробуйте использовать ресурсы — новая функция в Java 7.
Перечислите файлы и папки в каталоге с помощью метода списка файлов, метода обхода файлов и методов поиска. Чтение и запись из файла.
Вы научитесь мыслить как Java-программист.
Вы узнаете, как начать свой путь в качестве Java-программиста.
Вы изучите основы Eclipse IDE и JShell.
Вы научитесь разрабатывать потрясающие объектно-ориентированные программы на Java.
Вы решите широкий спектр практических упражнений по темам, обсуждаемым ниже.
Вы изучите основы программирования - переменные, выбор типа данных, условное выполнение, циклы, написание отличных методов, разбиение проблем на подзадачи и реализацию отличной обработки исключений.
Вы изучите основы объектно-ориентированного программирования: интерфейсы, наследование, абстрактный класс и конструкторы.
Вы изучите важные концепции объектно-ориентированного программирования — абстракцию, наследование, инкапсуляцию и полиморфизм.
Вы научитесь базовому функциональному программированию на Java.
Вы изучите основы многопоточности с помощью Executor Service.
Вы узнаете о широком разнообразии коллекций — интерфейсах списков, карт, наборов и очередей.
Подключение к Интернету для загрузки Java 9 и Eclipse.
Мы поможем вам установить Java9 с помощью JShell и Eclipse.
Курс-Начало
Курс-Окончание
Шаг 00. Как максимально эффективно использовать Руководство по курсу?
Шаг 01. Установка JDK 9 — с руководством по установке в формате PDF.
Шаг 02. Проверка Java и Jshell
Шаг 03. Устранение неполадок при установке Java
Шаг 04. Установка переменной среды Path в Windows
Шаг 00 — Начало работы с программированием
Шаг 01. Знакомство с заданием по таблице умножения.
Шаг 02 — Запустите JShell
Шаг 03 — Разберите задачу по таблице умножения
Шаг 04. Выражение Java. Введение.
Шаг 05 — Выражение Java — Упражнения
Шаг 06 — Выражение Java — Головоломки
Шаг 07. Вывод вывода на консоль с помощью Java
Шаг 08. Вывод вывода на консоль с помощью Java. Упражнения
Шаг 09. Вывод вывода на консоль с помощью Java — решения для упражнений
Шаг 10. Вывод вывода на консоль с помощью Java. Головоломки.
Шаг 11. Расширенная печать вывода на консоль с помощью Java
Шаг 12. Расширенная печать вывода на консоль с помощью Java. Упражнения и головоломки.
Шаг 13. Знакомство с переменными в Java
Шаг 14. Знакомство с переменными в Java. Упражнения и головоломки
Шаг 15. 4 важные вещи, которые нужно знать о переменных в Java
Шаг 16. Как переменные хранятся в памяти?
Шаг 17. Как назвать переменную?
Шаг 18. Понимание примитивных типов переменных в Java
Шаг 19. Понимание примитивных типов переменных в Java. Выбор типа
Шаг 20 — Оператор присваивания Java
Шаг 21 — Оператор присваивания Java — головоломки по увеличению, уменьшению и составному присваиванию
Шаг 23. Условные выражения Java и оператор if. Введение.
Шаг 24. Условные выражения Java и оператор if. Операторы упражнений
Шаг 25. Условные выражения Java и оператор if. Решения для упражнений
Шаг 26. Условные выражения Java и оператор if — головоломки
Шаг 27 — Java For Loop для печати таблицы умножения — Введение
Шаг 28. Цикл For в Java для печати таблицы умножения. Операторы упражнений
Шаг 29. Цикл For для печати таблицы умножения в Java — решения для упражнений
Шаг 30 — Java For Loop для печати таблицы умножения — головоломки
Шаг 31 — Советы по программированию: JShell — Ярлыки, несколько строк и переменные TODO Переместить вверх
Шаг 32. Начало работы с программированием. Повторите всю терминологию.
Шаг 00 – Раздел 02 – Методы – Введение
Шаг 01 — Ваш первый метод Java — Hello World Twice и инструкции по упражнениям
Шаг 02. Введение в методы Java. Упражнения и головоломки.
Шаг 03. Совет по программированию. Редактирование методов с помощью JShell
Шаг 04. Введение в методы Java. Аргументы и параметры.
Шаг 05. Введение в аргументы метода Java. Упражнения
Шаг 06. Введение в аргументы метода Java. Загадки и советы
Шаг 07 — Возвращение к таблице умножения — Создание метода
Шаг 08. Распечатайте таблицу умножения с перегрузкой параметров и методов
Шаг 09. Передача нескольких параметров в метод Java
Шаг 10. Возврат из метода Java. Введение.
Шаг 11. Возврат из метода Java. Упражнения
Шаг 99 — Методы — Обзор раздела
Шаг 00 — Раздел 03 — Обзор платформы Java — Обзор раздела
Шаг 01. Обзор платформы Java. Введение. Java, javac, байт-код и JVM.
Шаг 02. Класс и объект Java — первый взгляд
Шаг 03. Создайте метод в классе Java.
Шаг 04. Создайте и скомпилируйте класс Planet.java
Шаг 05. Запуск Planet Cals с помощью Java. Использование основного метода.
Шаг 06 — Играйте и учитесь с Planet Class
Шаг 07 — JDK против JRE против JVM
Шаг 00 — Установка Eclipse
Шаг 01. Создание нового проекта Java с помощью Eclipse
Шаг 02. Ваш первый урок Java с Eclipse
Шаг 03 — Написание Java-программы таблицы умножения с помощью Eclipse
Шаг 04. Добавление дополнительных методов для программы таблицы умножения
Шаг 05. Совет по программированию 1. Рефакторинг с помощью Eclipse
Шаг 06. Совет по программированию 2. Отладка с помощью Eclipse
Шаг 07. Совет по программированию 3. Eclipse или JShell. Как выбрать?
Шаг 00. Введение в объектно-ориентированное программирование. Обзор раздела.
Шаг 01. Введение в объектно-ориентированное программирование. Основы
Шаг 02. Введение в объектно-ориентированное программирование. Терминология. Класс, объект, состояние и поведение.
Шаг 03. Введение в объектно-ориентированное программирование. Упражнение. Система интернет-магазинов и человек.
Шаг 04. Создайте Java-класс мотоцикла и пару объектов.
Шаг 05. Решения для упражнений. Класс книги и три экземпляра.
Шаг 06 — Представление состояния объекта с переменной скорости
Шаг 07. Понимание основ инкапсуляции с помощью методов Setter
Шаг 08. Упражнения и советы. Геттеры и создание геттеров и сеттеров с помощью Eclipse
Шаг 09. Загадки по этому поводу и инициализация переменных-членов.
Шаг 10. Первое преимущество инкапсуляции
Шаг 11. Введение в инкапсуляцию. Уровень 2.
Шаг 12. Упражнения по инкапсуляции. Класс «Лучшая проверка и книга»
Шаг 13 — Введение в абстракцию
Шаг 14. Знакомство с конструкторами Java
Шаг 15. Знакомство с конструкторами Java. Упражнения и головоломки.
Шаг 16. Введение в объектно-ориентированное программирование. Заключение.
Шаг 00 — Подробно о примитивных типах данных — Обзор раздела
Шаг 01. Основы целочисленных типов данных Java. Приведение типов, операторы и многое другое.
Шаг 02 — Целочисленные типы данных Java — Головоломки — восьмеричные, шестнадцатеричные, пост- и предварительные приращения
Шаг 03. Целочисленные типы данных Java. Упражнения. BiNumber. Сложение, умножение и удвоение.
Шаг 04. Типы данных с плавающей запятой в Java. Приведение, преобразование и точность
Шаг 05. Знакомство с Java-классом BigDecimal
Шаг 06 — Головоломки BigDecimal — Сложение целых чисел
Шаг 07 — Упражнения BigDecimal — Простой расчет процентов
Шаг 08. Логический тип данных Java. Реляционные и логические операторы
Шаг 09 — Логический тип данных Java — Головоломки — Операторы короткого замыкания
Шаг 10. Тип символьных данных Java char. Представление и преобразование
Шаг 11. Тип данных Java char — Упражнения 1 — isVowel
Шаг 12. Тип данных Java char — Упражнения 2 — isDigit
Шаг 13. Тип данных Java char. Упражнения 3. isConsonant, список символов верхнего и нижнего регистра.
Шаг 14. Подробно о примитивных типах данных. Заключение.
Шаг 00. Условные выражения в Java. Обзор раздела
Шаг 01. Знакомство с оператором If Else
Шаг 02. Знакомство с вложенным if Else
Шаг 03 — Оператор If Else — Головоломки
Шаг 04. Если еще проблема. Как получить пользовательский ввод в Java?
Шаг 05. Если еще проблема. Как получить номер 2 и выбор от пользователя?
Шаг 06. Проблема If Else. Реализация с помощью вложенного If Else.
Шаг 07. Заявление Java Switch. Введение.
Шаг 08. Оператор Java Switch. Головоломки. По умолчанию, прорыв и провал.
Шаг 09. Оператор Java Switch. Упражнения. isWeekDay, nameOfMonth, nameOfDay.
Шаг 10. Тернарная операция Java. Введение.
Шаг 11. Условные выражения в Java. Заключение
Шаг 00 — Циклы Java — Введение в раздел
Шаг 01 — Цикл For в Java — Синтаксис и головоломки
Шаг 02. Цикл For в Java. Обзор упражнений и простые числа в первом упражнении
Шаг 03. Цикл For в Java. Упражнение. Суммирование чисел до N и сумма делителей.
Шаг 04. Цикл For в Java. Упражнение. Печать числового треугольника.
Шаг 05. Цикл while в Java. Введение.
Шаг 06. Цикл while. Упражнения. Кубы и квадраты до предела.
Шаг 07. Выполнение цикла while в Java. Введение.
Шаг 08. Выполнение цикла While в Java. Пример. Куб, пока пользователь вводит положительные числа.
Шаг 09. Знакомство с функцией Break and Continue
Шаг 10. Выбор цикла в Java — For, While и Do While
Шаг 00. Ссылочные типы Java. Введение в раздел.
Шаг 01. Ссылочные типы. Как они хранятся в памяти?
Шаг 02 — Ссылочные типы Java — Головоломки
Шаг 03. Класс String. Введение и упражнения. Выведите каждое слово и символ на новой строке.
Шаг 04. Класс String. Решение упражнения и некоторые более важные методы
Шаг 05. Понимание того, что строка является неизменяемой, а также методов объединения строк, верхнего регистра, нижнего регистра и обрезки.
Шаг 06. Конкатенация строк и методы объединения и замены
Шаг 07. Альтернативы строкам в Java — StringBuffer и StringBuilder
Шаг 08. Классы-оболочки Java. Введение. Почему и что?
Шаг 09. Классы Java-оболочки. Создание. Конструктор и valueOf.
Шаг 10. Классы-оболочки Java. Автоупаковка и несколько констант-оболочек. SIZE, BYTES, MAX_VALUE и MIN_VALUE.
Шаг 11. Даты Java. Знакомство с LocalDate, LocalTime и LocalDateTime.
Шаг 12. Даты Java. Изучение LocalDate. Создание и методы работы с датой.
Шаг 13. Даты Java. Изучение LocalDate. Сравнение дат и создание конкретных дат.
Шаг 14 — Ссылочные типы Java — Заключение
Шаг 00. Введение в Array и ArrayList. Введение в раздел с вызовом
Шаг 01. Понимание необходимости и основы массива
Шаг 02. Массивы Java. Создание значений и доступ к ним. Введение.
Шаг 03 — Массивы Java — Головоломки — Массивы объектов, примитивные типы данных, toString и исключения
Шаг 04 — Массивы Java — сравнение, сортировка и заполнение
Шаг 05. Массивы Java. Упражнение. Создание класса учащихся. Часть 1. Общие и средние оценки.
Шаг 06. Массивы Java. Упражнение. Создание класса учащихся. Часть 2. Максимальная и минимальная оценка.
Шаг 07. Знакомство с переменными аргументами. Необходимость
Шаг 08. Знакомство с переменными аргументами. Основы
Шаг 09. Знакомство с переменными аргументами. Расширение возможностей студенческого класса.
Шаг 10. Массивы Java. Использование объектов Person и строковых элементов с упражнениями
Шаг 11. Массивы строк Java. Решения для упражнений. Печать дня недели с наибольшим количеством букв и т. д.
Шаг 12 — Добавление и удаление меток — Проблема с массивами
Шаг 13. Первый взгляд на ArrayList. Введение.
Шаг 14. Первый взгляд на ArrayList. Рефакторинг студенческого класса для использования ArrayList.
Шаг 15. Первый взгляд на ArrayList. Улучшение класса учащихся с помощью добавления и удаления отметок
Шаг 16. Знакомство с Array и ArrayList. Заключение.
Шаг 00. Объектно-ориентированное программирование. Уровень 2. Введение в раздел.
Шаг 01. Основы проектирования класса. Класс, объект, состояние и поведение.
Шаг 02. Пример OOPS. Класс вентилятора. Определение состояния и конструкторов.
Шаг 03. Пример OOPS. Класс вентилятора. Определение поведения с помощью методов
Шаг 04. Упражнение OOPS. Класс прямоугольника
Шаг 05. Понимание состава объекта на примере адреса клиента
Шаг 06. Понимание композиции объектов. Упражнение. Книги и обзоры.
Шаг 07. Понимание наследования. Зачем оно нам?
Шаг 08. Объект находится на вершине иерархии наследования.
Шаг 09 — Наследование и переопределение — с помощью метода toString()
Шаг 10. Наследование Java. Упражнение. Классы учащихся и сотрудников.
Шаг 11. Наследование Java. Конструкторы по умолчанию и вызов метода super().
Шаг 12 — Наследование Java — Головоломки — Множественное наследование, ссылочные переменные и экземпляр
Шаг 13 — Абстрактный класс Java — Введение
Шаг 14. Абстрактный класс Java. Первый пример. Создание рецептов с помощью шаблонного метода.
Шаг 15 — Абстрактный класс Java — головоломки
Шаг 16. Интерфейс Java. Пример 1. Игровая консоль. Как относиться к интерфейсам?
Шаг 17. Интерфейс Java. Пример 2. Сложный алгоритм. API, определенный внешней командой.
Шаг 18. Интерфейс Java. Головоломки. Нереализованные методы, абстрактные классы, переменные, методы по умолчанию и многое другое.
Шаг 19. Интерфейс Java и абстрактный класс — сравнение
Шаг 20. Java-интерфейс Flyable и абстрактный класс Animal — упражнение
Шаг 21 – Полиморфизм – Введение
Шаг 01. Коллекции Java. Обзор раздела с Need For Collections
Шаг 02. Интерфейс списка. Введение. Позиция имеет решающее значение.
Шаг 03. Интерфейс списка. Неизменяемость и внедрение реализаций. ArrayList, LinkedList и Vector.
Шаг 04. Список реализаций интерфейса — ArrayList и LinkedList
Шаг 05. Список реализаций интерфейса — ArrayList против Vector
Шаг 06. Интерфейс списка. Методы добавления, удаления и изменения элементов и списков.
Шаг 07. Список и ArrayList. Перебор элементов
Шаг 08. Список и ArrayList. Выбор итерационного подхода для печати и удаления элементов.
Шаг 09 — List и ArrayList — Головоломки — Безопасность типов и удаление целых чисел
Шаг 10. Список и ArrayList. Сортировка. Введение в статический метод сортировки коллекций.
Шаг 11. Список и ArrayList. Сортировка. Реализация сопоставимого интерфейса в студенческом классе.
Шаг 12. Список и ArrayList. Сортировка. Обеспечение гибкости за счет реализации интерфейса Comparator.
Шаг 13. Список и ArrayList. Резюме
Шаг 14. Настройка интерфейса. Введение. Без дублирования.
Шаг 15. Понимание структур данных — массив, LinkedList и хеширование
Шаг 16. Понимание структур данных. Дерево. Отсортированный порядок.
Шаг 17. Настройка интерфейса. Практические занятия. HashSet, LinkedHashSet и TreeSet.
Шаг 18. Настройка интерфейса. Упражнение. Поиск уникальных символов в списке.
Шаг 19. TreeSet. Методы из NavigableSet. Floor, Lower, Upper, SubSet, Head и TailSet.
Шаг 20 — Интерфейс очереди — элементы процесса в порядке
Шаг 21. Знакомство с PriorityQueue. Основные методы и индивидуальный приоритет.
Шаг 22. Интерфейс карты. Введение. Ключ и значение.
Шаг 23. Интерфейс карты. Реализации. HashMap, HashTable, LinkedHashMap и TreeMap.
Шаг 24 – Интерфейс карты – основные операции
Шаг 25 — Интерфейс карты — Сравнение — HashMap, LinkedHashMap и TreeMap
Шаг 26. Интерфейс карты. Упражнение. Подсчитайте появление символов и слов в фрагменте текста.
Шаг 27. TreeMap. Методы из NavigableMap. FloorKey, HigherKey, FirstEntry, SubMap и другие.
Шаг 28 — Коллекции Java — Заключение с тремя советами
Шаг 01. Введение в дженерики. Зачем нам дженерики?
Шаг 02. Реализация дженериков для пользовательского списка
Шаг 03. Расширение пользовательского списка с помощью общего метода возврата
Шаг 04. Головоломки с обобщениями. Ограничения с расширениями и универсальными методами.
Шаг 05. Обобщенные шаблоны и подстановочные знаки. Верхняя и нижняя границы.
Шаг 01. Введение в функциональное программирование. Функции — граждане первого класса.
Шаг 02. Функциональное программирование. Первый пример с функцией в качестве параметра.
Шаг 03. Функциональное программирование. Упражнение. Повторение списка чисел.
Шаг 04. Функциональное программирование. Фильтрация. Упражнения по печати нечетных и четных чисел из списка.
Шаг 05. Функциональное программирование. Сбор. Сумма чисел в списке.
Шаг 06. Функциональное программирование и структурное программирование — быстрое сравнение
Шаг 07. Терминология функционального программирования. Лямбда-выражение, поток и операции над потоком
Шаг 08. Поток промежуточных операций — сортировка, различение, фильтрация и сопоставление
Шаг 09. Потоковые промежуточные операции. Упражнения. Квадраты первых 10, сопоставление списка строк с нижним регистром и длиной строки.
Шаг 10 — Операции с потоковым терминалом — 1 — максимальная работа с компаратором
Шаг 11. Операции с потоковым терминалом – 2 минуты, сбор в список,
Шаг 12. Необязательный класс в Java. Введение.
Шаг 13. За кулисами с функциональными интерфейсами. Реализуйте интерфейс предикатов.
Шаг 14. За кулисами с функциональными интерфейсами. Реализация пользовательского интерфейса.
Шаг 15. За кулисами с функциональными интерфейсами. Реализация функционального интерфейса для сопоставления
Шаг 16. Упрощение кода функционального программирования с помощью ссылок на методы — статические методы и методы экземпляра
Шаг 17. Функции — граждане первого сорта
Шаг 18. Введение в функциональное программирование. Заключение.
Шаг 01. Введение в потоки и многопоточность. Необходимость в потоках
Шаг 02. Создание потока для задачи 1. Расширение класса потока.
Шаг 03. Создание потока для задачи 2. Реализация работоспособного интерфейса
Шаг 04 — Теория — Состояния потока
Шаг 05. Размещение приоритетных запросов для потоков
Шаг 06 — Связь между потоками — метод соединения
Шаг 07. Методы утилиты Thread и ключевое слово синхронизации — сон, выход
Шаг 08 — Необходимость контроля выполнения потоков
Шаг 09 — Знакомство с сервисом «Исполнитель»
Шаг 10. Служба исполнителя. Настройка количества потоков.
Шаг 11. Служба исполнителя. Возврат будущего из потока с использованием Callable
Шаг 12. Служба-исполнитель. Ожидание завершения нескольких задач с использованием ignoreAll.
Шаг 13. Служба исполнителя. Подождите только самую быструю задачу, используя ignoreAny.
Шаг 14. Потоки и многопоточность. Заключение.
Шаг 01. Введение в обработку исключений. Ваш мыслительный процесс во время обработки исключений.
Шаг 02. Основы исключений — NullPointerException и StackTrace
Шаг 03 — Основы обработки исключений — попробуйте и поймайте
Шаг 04. Основы обработки исключений. Иерархия исключений, сопоставление и перехват нескольких исключений.
Шаг 05. Основы обработки исключений. Необходимость, наконец,
Шаг 06 — Основы обработки исключений — головоломки
Шаг 07. Проверенные исключения и непроверенные исключения — пример
Шаг 08 — Иерархия ошибок и исключений — проверено и время выполнения
Шаг 09. Создание исключения — валюты не соответствуют исключению времени выполнения
Шаг 10. Создание проверенного исключения. Добавляет сигнатуру и обработку метода.
Шаг 11. Создание пользовательского исключения — CurrencyDoNotMatchException
Шаг 12. Пишите меньше кода с помощью Try with Resources — новая функция Java 7
Шаг 13. Основы обработки исключений. Головоломки 2.
Шаг 14. Обработка исключений. Заключение с использованием лучших практик
Шаг 01. Список файлов и папок в каталоге с помощью метода списка файлов.
Шаг 02. Рекурсивный просмотр и фильтрация всех файлов и папок в каталоге с помощью метода обхода файлов и поиска с помощью метода поиска.
Шаг 03. Чтение содержимого из файла. Файлы readAllLines и методы линий.
Шаг 04. Запись содержимого в файл. Метод записи файлов.
Шаг 05 — Файлы — Заключение
Шаг 01. Начало работы с Synchronized
Шаг 02. Проблема с синхронизацией — меньше параллелизма
Шаг 03. Введите блокировки с помощью ReEntrantLock
Шаг 04. Введение в атомарные классы — AtomicInteger
Шаг 05. Необходимость в ConcurrentMap
Шаг 06. Реализация примера с ConcurrentHashMap
Шаг 07. ConcurrentHashMap использует разные блокировки для разных регионов.
Шаг 08. Параллельные коллекции CopyOnWrite. Когда операций чтения больше, чем операций записи.
Шаг 09 — Заключение
Совет по Java 01. Импорт и статический импорт
Java-совет 02 — Блоки
Совет Java 03 — метод равенства
Java-совет 04 — метод хэш-кода
Совет Java 05 — Модификаторы доступа к классам — общедоступные и по умолчанию
Совет Java 06. Модификаторы доступа к методам: общедоступные, защищенные, частные и по умолчанию.
Совет по Java 07. Финальные классы и финальные методы
Совет по Java 08. Заключительные переменные и заключительные аргументы
Java-совет 09. Зачем нам статические переменные?
Java-совет 09. Зачем нам статические методы?
Совет 10 по Java. Статические методы не могут использовать методы или переменные экземпляра
Совет 11 по Java — публичный статический финал — константы
Совет 12 по Java. Вложенные классы. Внутренний класс и статический вложенный класс
Java-совет 13 — анонимные классы
Совет по Java 14. Почему Enum и основы Enum — порядковые номера и значения
Совет 15 по Java — Enum — Конструктор, переменные и методы
Совет по Java 16. Быстрый просмотр встроенных перечислений — Month, DayOfWeek
Обратитесь к нашему Руководству по устранению неполадок — https://github.com/in28MINUT/IN28MINITIVES/Tree/master/The-in28Minutes-TroubleshootingGuide-And-FAQ.
Нажмите здесь — более 30 плейлистов с более чем 500 видео о Spring, Spring Boot, REST, микросервисах и облаке.
in28Minutes создает потрясающие решения для изучения Spring Boot, Full Stack и облака — Docker, Kubernetes, AWS, React, Angular и т. д. — Ознакомьтесь со всеми нашими курсами здесь.
Введение в новые разделы - https://www.udemy.com/course/java-programming-tutorial-for-beginners/learn/lecture/25694200
Благодарим вас за выбор обучения in28Minutes.
Загрузите материалы курса (презентацию и файлы для скачивания) для курса — НАЖМИТЕ ЗДЕСЬ.
Увидимся на следующем этапе!
Для следующих разделов потребуется последняя версия Java и Eclipse Enterprise Edition.
Если вы столкнулись с какими-либо проблемами:
Установка последней версии Java
Устранение неполадок Java и Eclipse
Windows: C:Program FilesJavajdk-{версия}
Пример для JDK 16 — C:Program FilesJavajdk-16
Пример для JDK 17 — C:Program FilesJavajdk-17
Mac: /Library/Java/JavaVirtualMachines/jdk-{version}.jdk/Contents/Home
Пример для JDK 16 — /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
Пример для JDK 17 — /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
Windows: C:Program FilesJavajdk-{версия}bin
Пример для JDK 16 — C:Program FilesJavajdk-16bin
Mac: /Library/Java/JavaVirtualMachines/jdk-{version}.jdk/Contents/Home/bin
Пример для JDK 16 — /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home/bin
пакет com.in28минуты.learnspringframework.sample.enterprise.flow.web;импорт org.springframework.beans.factory.annotation.Autowired;импорт org.springframework.web.bind.annotation.GetMapping;импорт org.springframework.web.bind. аннотация.RestController;импорт com.in28minits.learnspringframework.sample.enterprise.flow.business.BusinessService;//Отправка ответа в правильном формате @RestControllerpublic class Controller { @Autowiredprivate BusinessService businessService; //"/sum" => 100@GetMapping("/sum") public long displaySum() { return businessService.calculateSum(); } }
//Пакет бизнес-логики com.in28minits.learnspringframework.sample.enterprise.flow.business;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import com. in28минуты.learnspringframework.sample.enterprise.flow.data.DataService; @Componentpublic класс БизнесСервис { @Autowiredprivate DataService dataService; public long CalcultSum() { List<Integer> data = dataService.retrieveData(); return data.stream().reduce(Integer::sum).get(); } }
пакет com.in28minits.learnspringframework.sample.enterprise.flow.data;import java.util.Arrays;import java.util.List;import org.springframework.stereotype.Component;@Componentpublic class DataService { public List<Integer> returnData( ) { return Arrays.asList(12,34,56,78,90); } }
Запустите MySQL с помощью Docker
docker run --detach --env MYSQL_ROOT_PASSWORD=dummypassword --env MYSQL_USER=courses-user --env MYSQL_PASSWORD=dummycourses --env MYSQL_DATABASE=courses --name mysql --publish 3306:3306 mysql:5.7
Конфигурация application.properties
#spring.datasource.url=jdbc:h2:mem:testdb spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://localhost:3306/courses spring.datasource.username=courses-user spring.datasource.password=dummycourses spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect #courses-user@localhost:3306
команды mysqlsh
mysqlsh connect courses-user@localhost:3306 sql use courses select * from course; quit
Команды Докера
docker container ls docker container stop ID
Спасибо за то, что помогли этому курсу охватить 100 000 слушателей. Тысячи учеников проходят этот курс каждый день! Спасибо за всю вашу любовь.
Java постоянно развивается. Очень рады объявить об удивительных обновлениях курса! Мы добавляем в курс проект реального мира с использованием Spring и Spring Boot!
Обновлен курс для использования JDK 16 (выпущен на прошлой неделе).
Добавлен новый контент
Модуляризация Java
Рекорды
Текстовые блоки
Переключить выражение
Вывод типа локальной переменной
Новый Java API в файлах, списках, наборах, картах и строках
Добавлен новый раздел для создания реального Java Rest API с использованием:
Весенняя структура
Весенние ботинки
JPA
Данные JPA
H2/MySQL
Докер
Чего вы ждете?
Я очень рад этим изменениям. Надеюсь, ты тоже!
Удачи.
Пожалуйста, не стесняйтесь задавать здесь свои вопросы!
Ранга
Продолжайте учиться каждый день!
На прошлой неделе мы анонсировали удивительные обновления курса.
Мы получаем замечательные отзывы от наших учеников.
Все обновления БЕСПЛАТНЫ для существующих слушателей курса.
Начните работу с новыми функциями Java, Spring и Spring Boot прямо сейчас!
Удачи
Docker и Kubernetes сегодня играют важную роль в мире микросервисов. Признавая необходимость, в январе 2021 года мы объявили об удивительных обновлениях курса:
Раздел 6. Микросервисы с Spring Cloud — версия 2. Раздел 7. Docker с микросервисами с использованием Spring Boot и Spring Cloud — версия 2. Раздел 8. Kubernetes с микросервисами с использованием Docker, Spring Boot и Spring Cloud — версия 2. Мы получаем замечательные отзывы от наших учеников.
Все обновления БЕСПЛАТНЫ для существующих слушателей курса.