Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 

Repository files navigation

📚 Мой учебный план по Java

Этот план поможет мне систематизировать изучение Java и отслеживать прогресс.


📊 Статистика

Показатель Значение
🎯Решено задач 1000+
⏱️Самостоятельного практического времени (с 18.05.2026) 290 часов
✅Сделано пет-проектов (вкл веб-сервисы) 6

🗺️ План развития

План построен как лестница: первая ступень уже пройдена, дальше — углубление и новые горизонты.
Каждый блок — это навык, а не просто тема.


🟢 Ступень 1. Фундамент

Эти темы освоены на практике, продолжаю использовать и углублять в каждом новом проекте.

✅ Циклы и итерации: for, for-each, while — свободное применение в любых задачах

✅ Методы строк: String, StringBuilder — регулярное использование, знание нюансов производительности

✅ Массивы: int[], String[] и др. — уверенная работа, переход на коллекции где удобнее

✅ ООП (база): классы, объекты, конструкторы, геттеры/сеттеры, инкапсуляция

✅ Исключения (база): обработка базовых исключений (try-catch)

✅ Scanner / Switch-case: работа с вводом, современный синтаксис ->


🟡 Ступень 2. Ядро языка (Углубление)

Закрепляю и углубляю то, что уже знаю, и добавляю новые инструменты.

✅ (80/20) ООП (полная картина): наследование, полиморфизм, abstract, interface, default-методы, sealed

Исключения (полный цикл): checked/unchecked, throw/throws, finally, кастомные исключения

✅ Объектные контракты: equals/hashCode, Comparable/Comparator

Управление состоянием: static/final, enum, record, Optional

Generics: List<T>, ? extends, ? super, свои generic-классы


🟠 Ступень 3. Инструменты и библиотеки

Всё, что ускоряет разработку и делает код короче.

✅ (50/50) Коллекции (полный набор): ArrayList, HashSet, HashMap, TreeMap, Queue, Deque

Stream API + Lambda: filter, map, reduce, collect, groupingBy, flatMap

Работа с файлами: java.io, java.nio.file, чтение/запись, сериализация


🔴 Ступень 4. Базы данных

Хранение данных — ключевая часть серьёзных приложений.

✅ (20/80) SQL: JOIN, HAVING, GROUP BY, индексы, транзакции, EXPLAIN

JDBC: Connection, PreparedStatement, ResultSet, миграции


🟣 Ступень 5. Многопоточность и инфраструктура

Производительность, тестирование, сборка, контейнеризация.

Concurrency: Thread, Runnable, synchronized, ExecutorService, CompletableFuture

Тестирование: JUnit 5, Mockito (unit-тесты, моки, assertThrows)

✅ (30/70) Системы сборки: Maven / Gradle (структура, зависимости, плагины)

✅ (10/90) Docker: Dockerfile, docker-compose, образы, контейнеры

Алгоритмы и структуры: Big O, стек, очередь, дерево, хеш-таблица


🔵 Ступень 6. Фреймворки и архитектура

Выход на уровень Enterprise-разработки.

Spring Core (IoC/DI): @Component, @Autowired, ApplicationContext

Spring Boot + REST API: @RestController, @GetMapping, @PostMapping

Паттерны проектирования: Singleton, Builder, Factory, Strategy, Observer


🏗️ Финальный проект

Всё, что изучено выше, объединяется в одном проекте:

  • CRUD REST-сервис с подключением к БД
  • Покрытие тестами (Unit + интеграционные)
  • Сборка через Maven/Gradle
  • Запуск через Docker

Как я работаю с этим планом:
Я не закрываю ступени по очереди, а двигаюсь по спирали — новое сразу применяю в проектах, а к пройденному возвращаюсь, чтобы углубить. Старые темы не забываются, они становятся частью моего автоматизма.


Пет-проекты

Мои проекты демонстрируют прогресс: от консольных утилит до многопоточных приложений с GUI и веб-интерфейсом.

✅ Завершённые проекты

Проект Описание Стек Что тренировала
Password Generator Генератор случайных паролей с настройками длины и набора символов Java, Scanner Условные операторы, строки, ввод/вывод
Calculator-Project Консольный калькулятор с историей операций и командами history / exit Java, ArrayList Базовые операции, коллекции, обработка команд
CipherGUI Графическое приложение для шифрования/дешифрования текста (сдвиг Цезаря) Java, Swing GUI, событийная модель, работа со строками
CarManagerApp Консольное приложение для управления автомобилями: сортировка, фильтрация, многопоточный поиск, автосохранение в CSV Java 17+, Maven, TestNG, Collections, Stream API, Multithreading Полный цикл: консольное меню, валидация ввода, все сортировки, работа с файлами, Undo, тестирование, README (командный проект)
CarManagerAppWeb Веб-версия CarManagerApp Java 17+, Maven, TestNG Перенос логики в веб-среду

🟡 В разработке

Проект Описание Стек Мой вклад / Что осваиваю
Evolve-HabitTrackerWeb Веб-приложение для отслеживания привычек Стек: Java 17+, Spring Boot, Thymeleaf, Bootstrap 5, H2 Database, Maven Полноценная веб-разработка

Примечание: Некоторые проекты создавались при поддержке ИИ — это сознательный учебный подход, позволяющий быстрее осваивать новые технологии (Swing, веб-разработка) и сосредоточиться на архитектуре и логике.


🎯 Ближайшие цели

Вместо жестких дедлайнов — направления роста. Я двигаюсь к ним через проекты и ежедневную практику.


На что я сейчас направлена

  • Глубокая архитектура — перехожу от написания кода к проектированию: понимаю, как строить гибкие и расширяемые системы
  • Автономность в новых технологиях — учусь быстрее входить в незнакомые области (GUI, веб) с минимальной поддержкой ИИ
  • Качество кода — тестирование, рефакторинг, читаемость, документация становятся привычкой
  • Масштабируемость — осваиваю инструменты для работы с большими данными (многопоточность, Stream API, оптимизация)
  • Командная разработка — закрепляю навыки работы в репозитории, код-ревью, распределение задач

Как я это делаю

  • Пишу проекты, а не просто решаю задачи
  • Возвращаюсь к старому коду и улучшаю его новыми инструментами
  • Совмещаю изучение с практикой — каждая новая тема сразу внедряется в текущий проект
  • Документирую свой путь — этот README часть процесса

Что дальше

Двигаюсь в сторону уверенного Junior+ / Middle уровня с фокусом на:

  • Чистую архитектуру
  • Производительность
  • Командную работу
  • Веб-технологии

🤝 Открытость

Я веду этот репозиторий публично, чтобы:

  • Видеть собственный прогресс
  • Получать обратную связь от сообщества
  • Показывать работодателям системный подход к обучению

Учиться по плануэффективно и интересно. Двигаюсь дальше!
Мой подход: Не количество тем, а глубина их связей

About

Мой учебный план по Java

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors