Skip to content

GeorgiiVoyakin/java-software-platforms-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-software-platforms-templates

Java programming tasks for institute

Task 1

Имплементировать интерфейс Comparator, сравнивающий две строки по сумме всех чисел, представленных в строке.

Task 2

Сортировка по возрасту в обратном порядке, фильтрация по имени «начинается с А», сортировка по дате рождения, расчет среднего веса.

Task 3

Создать свои потокобезопасные имплементацииинтерфейсов. Set с использованием Semaphore, List сиспользованием ключевого слова synchronized.

Task 4

Реализовать собственную имплементацию ExecutorService с единственным параметром конструктора – количеством потоков.

Task 5

Реализовать паттерн Singleton как минимум 3-мя способами.

Task 6

Написать реализацию паттернов «Фабричный метод», «Абстрактная фабрика», «Строитель», «Прототип».

Task 7

Написать реализацию паттернов «Фасад», «Легковес».

Task 8

Написать реализацию паттернов «Снимок», «Наблюдатель».

Task 9

Создать приложение, которое выводит какое-то сообщение в консоль. Создать Gradle Task, который создает jar-файл приложения, переносит его в отдельную папку, в которой хранится Dockerfile для jar, а затем создает Docker контейнер из данного jar-файла и запускает его.

Task 10

Создать приложение, в котором создается ApplicationContext и из него берётся бин с названием, переданным в качестве аргумента к приложению, и вызывается метод интерфейса, который он имплементирует. Нужно создать по одному бину для каждого класса, определить им название. Проверить, что вызывается при вводе названия каждого из бинов. Интерфейс Musician с методом doMusic(), его имплементации: Drummer, Guitarist, Trombonist.

Task 11

Создать приложение с использованием Spring Boot Starter Initializr с такими зависимостями:

  • Spring Web
  • Lombok
  • Validation
  • Spring boot Actuator

Запустить приложение и удостовериться, что не появилось никаких ошибок. Добавить все эндпоинты в Actuator, сделать HTTP-запрос на проверку состояния приложения. Собрать jar-файл приложения, запустить и проверить состояние при помощи REST-запроса.

Task 12

Создать приложение, которое при запуске берет данные из одного файла, хеширует, а при остановке приложения удаляет исходный файл, оставляя только файл с захешированными данными. Названия первого и второго файла передаются в качестве аргументов при запуске. При отсутствии первого файла создает второй файл и записывает в него строку null. Реализовать с использованием аннотаций PostConstruct, PreDestroy.

Task 13

Создать файл application.yml в папке resources, добавитьв него такие свойства:

  • student.name - имя студента
  • student.last_name - фамилия студента
  • student.group - группа студента

При запуске приложения вывести данные свойства в консоль при помощи интерфейса Environment или аннотации Value.

Releases

No releases published

Packages

No packages published