{"id":60099,"url":"https://github.com/borymskyi/roadmap-java-sng","name":"roadmap-java-sng","description":"🚀Структурированный список ресурсов для изучения Java.","projects_count":57,"last_synced_at":"2026-06-11T06:00:28.419Z","repository":{"id":41411996,"uuid":"449630356","full_name":"borymskyi/roadmap-java-sng","owner":"borymskyi","description":"🚀Структурированный список ресурсов для изучения Java.","archived":false,"fork":false,"pushed_at":"2026-03-23T21:44:17.000Z","size":69,"stargazers_count":185,"open_issues_count":4,"forks_count":26,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-05-25T15:04:35.751Z","etag":null,"topics":["awesome","awesome-list","backend","for-beginners","guide","guides","java","list","roadmap","web"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/borymskyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-19T09:39:27.000Z","updated_at":"2026-05-20T06:48:05.000Z","dependencies_parsed_at":"2023-11-11T16:28:22.074Z","dependency_job_id":"6db014bb-4d45-4daa-87af-301761a5438c","html_url":"https://github.com/borymskyi/roadmap-java-sng","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/borymskyi/roadmap-java-sng","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borymskyi%2Froadmap-java-sng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borymskyi%2Froadmap-java-sng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borymskyi%2Froadmap-java-sng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borymskyi%2Froadmap-java-sng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/borymskyi","download_url":"https://codeload.github.com/borymskyi/roadmap-java-sng/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borymskyi%2Froadmap-java-sng/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34184779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-05-08T00:00:24.108Z","updated_at":"2026-06-11T06:00:28.420Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["SPRING","ALGORYTHMS \u0026 DATA STRUCTURES","TESTING","JAVA CORE","SQL \u0026 JDBC","HTTP \u0026 SERVLETS","MAVEN \u0026 GRADLE","JPA \u0026 HIBERNATE","Идем на собес"],"sub_categories":["Дополнительный материал"],"readme":"# :scroll: Roadmap Java developer\n\nСтруктурированный список ресурсов для изучения Java, который поможет систематизировать занятия. Основан на личном опыте и самостоятельном изучении данной области.\n\n\n\n\n## Содержание\n* [JAVA CORE](#java-core)\n* [ALGORYTHMS \u0026 DATA STRUCTURES](#algorythms--data-structures)\n* [SQL \u0026 JDBC](#sql--jdbc)\n* [HTTP \u0026 SERVLETS](#http--servlets)\n* [MAVEN \u0026 GRADLE](#maven--gradle)\n* [SPRING](#spring)\n* [JPA \u0026 HIBERNATE](#jpa--hibernate)\n* [TESTING](#testing)\n* [Идем на собес](#идем-на-собес)\n* [Дополнительный материал](#дополнительный-материал)\n\n\n\n\n\n## JAVA CORE\n\u003e Это целый ряд тем. Оновные: **ООП в Java**, **Ветвление, Циклы**, **Массивы**, **Exceptions**, **Collection Framework**, **Input-Output**, **Многопоточность**, **Stream API**, и еще разный ряд базовых принципов для использование всего.\n\n* Java Core с нуля *[Link](https://coursehunter.net/course/java-dzhava-dlya-nachinayushchih-s-nulya-do-sertifikata-oracle)*\n* Java Core продвинутый *[Link](https://youtube.com/playlist?list=PLqj7-hRTFl_oDMBjI_EstsFcDAwt-Arhs)*\n* Книги: *Java Эффективное программирование Д.Блох* \u0026\u0026 *Java Полное руководство Г.Шилдт*\n* Практика: *[Codewars](https://www.codewars.com/kata/search/java?beta=false\u0026order_by=popularity+desc\u0026q=\u0026r%5B%5D=-8\u0026tags=)* || *[Практические задачи по Java](https://habr.com/ru/post/440436/)* || *[1000 задач на Java](https://github.com/allicen/Java-1000)*\n\n\n\n\n## ALGORYTHMS \u0026 DATA STRUCTURES\n\u003e Нужно уметь применять наиболее эффективные способы решения некоторых задач, а для этого стоит быть в курсе базовых алгоритмов и структур данных: **Algorythms**(Различные сортировки, поиск значений, поиск кратчайшего пути и тд), **Data Structures**(Списки, Очереди, Мапы, Деревья, Графы и тд).\n\n* Книги: *Алгоритмы на Java Р.Седжвик || Грокаем алгоритмы Б.Адитья || Алгоритмы Построение и анализ Т.Кормен.*\n* Практика:\n  * Заходим на сайт *[LeetCode](https://leetcode.com/)* в разделе Explore заходим в лист *[Top Interview Questions](https://leetcode.com/explore/interview/card/top-interview-questions-easy/)* (Easy / Medium / Hard) -\u003e берем задание -\u003e смотрим теги задачи(Related Topics) -\u003e берем книгу и читаем нужную тему.\n\n\u003cdetails\u003e\n\u003csummary\u003e Дополнительный материал \u003c/summary\u003e\n \n * *[Visualgo](https://visualgo.net/en)* | *[BigOcheatsheet](https://www.bigocheatsheet.com/)*\n * *[Link Y](https://www.youtube.com/watch?v=_NhmGvYs8_g\u0026t=686s)* | *[Link Y](https://youtube.com/playlist?list=PLlsMRoVt5sTOKU87z9NhHHRH9nvE5chfH)* | *[Link Y](https://youtube.com/playlist?list=PLlsMRoVt5sTPCbbIW2QZ-hRMW80lymEYR)* | *[Link Y](https://youtu.be/c3RVW3KGIIE)* | *[Link W](https://habr.com/ru/articles/128017/)*\n\u003c/details\u003e\n\n\n\n\n## SQL \u0026 JDBC\n* *[Детальный курс по SQL dmdev](https://youtube.com/playlist?list=PLnh8EajVFTl5q3x1Mp6Fh9YEvv70dL6re)*\n* *[Детальный курс по JDBC dmdev](https://youtube.com/playlist?list=PLnh8EajVFTl7an1-h7MLjt6fi-5sJM3Cj )*\n\n\n\n\n## HTTP \u0026 SERVLETS\n* *[Java EE(HTTP, Servlets)](https://youtube.com/playlist?list=PLAma_mKffTOTTFqIkLXgHqVuL6xJhb0mr)* || *[Детальный курс по Web, HTTP, Servlets от dmdev](https://www.youtube.com/playlist?list=PLnh8EajVFTl7_p5MgevvA41PvxQWq-jC8)*\n\n\n\n\n## MAVEN \u0026 GRADLE\n* *[Maven Детальный курс от dmdev](https://youtube.com/playlist?list=PLnh8EajVFTl5fusY9MRBEOoLjbv8Trms5)*\n* *[Gradle Детальный курс от dmdev](https://www.youtube.com/playlist?list=PLnh8EajVFTl7JYxhZs7CfxyTsUMvcBXig)*\n\n\n\n\n## SPRING\n\u003e Содержит множество компонентов для работы с разнообразными задачами. **Spring MVC**(для разработки веб-приложений), **Spring Data**(для работы с бд), **Spring Security**(для обеспечения безопасности приложений) и тд. Нужно разобраться с базовыми принципами работы с спринг, на чем все строится. Spring Basics(IoC Container, Spring Beans, Bean Configuration, Bean Wiring и тд).\n* *[Детальный курс по Spring от dmdev](https://youtube.com/playlist?list=PLnh8EajVFTl5ZK-8o1KXwnbeBgoKYDbdr)*\n* *[ru Руководство по Spring](https://proselyte.net/tutorials/spring-tutorial-full-version/)*\n* *[Короткий курс, база Spring Framework](https://youtube.com/playlist?list=PLAma_mKffTOR5o0WNHnY0mTjKxnCgSXrZ)*\n* *[Практика: Spring Boot project](https://youtube.com/playlist?list=PLU2ftbIeotGoGSEUf54LQH-DgiQPF2XRO)*\n* *[Практика: Spring Boot + Vue.js project](https://youtube.com/playlist?list=PLU2ftbIeotGqSTOVNjT4L3Yfy8jatCdhm)*\n\n\u003e На данном этапе будет хорошо понимать принципы, паттерны разработки ПО, такие как SOLID, REST, Паттерные проектирования.\n* *[Теория: Паттерны проектирования](https://refactoring.guru/ru/design-patterns)*\n* *[Практика: Паттерны проектирования](https://youtube.com/playlist?list=PLlsMRoVt5sTPgGbinwOVnaF1mxNeLAD7P)*\n* *[Принципы Чистой Архитектуры от Дяди Боба](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)*\n* *[SOLID принципы, простым языком](https://youtu.be/TxZwqVTaCmA)*\n\n\n\n\n## JPA \u0026 HIBERNATE\n\u003e Спецификация, описывающая, как удобно представлять данные из бд в виде Java объектов. Спецификация не является фреймворком. Она только показывает, что должен уметь реальный фреймворк. А вот фреймворк уже реализует спецификацию. т.е. реальная работа происходит как раз в нем. **Hibernate**(фреймворк, реализующий спецификацию JPA), **ORM**(общее понятие для представления данных из бд в виде java объектов, тогда каждая строка таблицы становится java объектом).\n* *[Детальный курс по Hibernate от dmdev](https://www.youtube.com/playlist?list=PLnh8EajVFTl7dQ77iqr55gFLcyYjedAlE)*\n* *[ru Документация по Hibernate](https://proselyte.net/tutorials/hibernate-tutorial/)*\n* *[Документация от спринга](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation)*\n\n\n\n\n## TESTING\n\u003e Позволяет убедиться, что вы не допустили ошибку при написании программы. Это как бы набор маленьких программ на Java, которые проверяют правильность вашей основной программы. Также гарантируют, что будущие изменения кода программы не затронут старую логику. Таким образом вы всегда будете уверены, что ничего не сломали. Это серьезно ускоряет разработку, т.к. вам не приходится каждый раз проверять потенциальные баги. **Junit**(Java фреймворк для написания тестов самых разных видов), **Integration**(прекрасно работает в паре с другими фреймворками, например Spring). Стоит просто разобратся какие бывают виды тестов на джава, как их писать на Junit, что такое моки и тд.\n* *[Детальный курс по JUnit 5 от dmdev](https://youtube.com/playlist?list=PLnh8EajVFTl5AqvBosxUefReW4nC35P0x)*\n* *[Тестирование коллекций](https://mkyong.com/unittest/junit-how-to-test-a-list/)*\n\n\n\n\u003cdetails\u003e\n\u003csummary\u003eКратко какие темы нужно закрыть\u003c/summary\u003e\n\n* **Data Structure \u0026 Algorithms** *(решить +-5 easy problem)*\n  - *[Link 1 V](https://youtu.be/_NhmGvYs8_g)* | *[Link 2 L](https://leetcode.com/explore/interview/card/top-interview-questions-easy/)*\n\n* **ООП**\n  - *[Link 1](https://youtu.be/4owUYYdcAOw)* | *[Link 2](https://youtu.be/YMTdEXpQTZQ)* | *[Link 3](https://youtu.be/BYu8gT0hGCQ)* | *[Link 4 G](https://youtube.com/playlist?list=PLoij6udfBncgtdSaq4nqVNtTqPeyh7rnV)* | *[Link 5 G](https://youtube.com/playlist?list=PLoij6udfBnciXh1_Itg-Hiw9EdGGzwYPE)* | *[Link 6 G](https://youtube.com/playlist?list=PLoij6udfBncjjuiZQNFx_b4A5Ygdn1YbS)* | *[Link 7 G](https://youtube.com/playlist?list=PLoij6udfBnch50JMDvipTQmAp-q4Pw6jG)* | *[Link 8 D](https://coursehunter.net/course/java-dlya-nachinayushchih-level-2?lesson=20)* | *[Link Y](https://youtu.be/Xg_DTzM6o6U)*\n\n* **Generics**\n  - *[Link 1 G](https://youtu.be/Yymzcnt-Ars)* | *[Link 2 D](https://coursehunter.net/course/java-dlya-nachinayushchih-level-2?lesson=27)* | *[Link 3 D](https://coursehunter.net/course/java-dlya-nachinayushchih-level-2?lesson=28)* | *[Link 4 D](https://coursehunter.net/course/java-dlya-nachinayushchih-level-2?lesson=29)*\n\n* **Object** *(знать методы)*\n  - *[Link 1](https://youtu.be/DrQqZj5OIZc)* | *[Link 2](https://www.youtube.com/watch?v=Juav74bCtZ8)* | *[Link 3](https://www.youtube.com/watch?v=NQdwRwbPVCs)* | *[Link 4](https://youtu.be/B0bweMu3m5E)*\n\n* **Collection Framework** *(**больше всего спрашивают**, надо очень подробно знать)*\n  - *[Link 1](https://youtube.com/playlist?list=PL786bPIlqEjRvuYGGDMxy6YqzG-Hizvs8)* | *[Link 2](https://youtube.com/playlist?list=PLqj7-hRTFl_oDMBjI_EstsFcDAwt-Arhs)* | *[Link 3](https://youtu.be/xVfV8r_4GYI)* | *[Link 4 G](https://youtube.com/playlist?list=PLoij6udfBncjiXKA5ce0hi4b4DIvGymeo)* | *[Link 5 G](https://youtube.com/playlist?list=PLoij6udfBnciAPeXh5oOGBsQ2c8GlEFu0)* | *[Link 6 G](https://youtube.com/playlist?list=PLoij6udfBncgIlUdvGNtG2Jp7gXbDMx15)* | *[Link 7 G](https://youtube.com/playlist?list=PLoij6udfBncjAZTDf6Vx281R5Y9mnm93q)* | *[Link 8](https://youtu.be/JDh3DsJGGMU)*\n\n* **Lamda, Stream API**\n  - *[Link 1](https://youtu.be/jHStUYP1NEg)* | *[Link 2](https://youtu.be/33pi0sIZNEU)* | *[Link 3](https://youtu.be/sWwkwcAugR0)* | *[Link 4](https://youtu.be/oUvx2Up-PkA)* | *[Link 5](https://youtu.be/GMzP5vIG9YU)* | *[Link 6](https://youtu.be/IQVwwwSe4Ic)* | *[Link 7](https://youtu.be/aC0-KsuPG0I)* | *[Link 8](https://youtu.be/RzEiCguFZiY)*\n\n* **Garbage Collector** *(gc(), finalize(), как он чистит мусор, как он работает, можно ли заставить работать)* \n  - *[Link 1](https://youtu.be/-ayMplONmkI)*\n\n* **Multithreading / Concurrency** **_(базовые знания)_** *(как работает многопоточность, как создать тред, sleep, join, монитор, процесс гонки)*\n  - *[Link 1](https://www.youtube.com/watch?v=VbLyaPPHtrE\u0026list=PLw6SJ6q6-1YptavAy65knVOSBZ_y6YxmV\u0026index=4\u0026t=47s)* | *[Link 2](https://metanit.com/java/tutorial/8.5.php)*\n\n* **Exception** *(иерархия, checked и unchecked, когда нужно создавать свои исключения, когда нужно или не нужно обрабатывать ошибки)*\n  - *[Link 1](https://youtu.be/_ndfgwHtcXY)* | *[Link 2 D](https://coursehunter.net/course/java-dlya-nachinayushchih-level-2?lesson=47)* | *[Link 3](https://youtu.be/mLpMtc62530)* | *[Link 4 G](https://youtube.com/playlist?list=PLoij6udfBncilVuX_R0sBrESIlyfQWVjm)* | *[Link 5 G](https://youtube.com/playlist?list=PLoij6udfBnchbxh8ZAY-FPlmj97aCILTY)* | *[Link 6 G](https://youtube.com/playlist?list=PLoij6udfBncjLoxagaF5tGsDp-0XKMyhc)* | *[Link 7 G](https://youtube.com/playlist?list=PLoij6udfBnchR-Cc-RB4EUZokLrLlIuWQ)*\n\n* **String, String Pool** *(как работает jvm memory, имутабельность, отличие от других стрингов)*\n  - *[Link 1 Y](https://youtu.be/d_oou6CAz5U)* | *[Link 2 Y](https://youtu.be/1QP8y6-1fD0)*\n\n* **SQL + JDBC** *(хорошая база, DDL, DML, как писать запросы с JOIN / GROUP BY, внешние ключи, понимать что такое уровни изоляции)*\n\n* **Web + Spring + Hibernate** *(понимание как устроин network, база Spring IoC, Boot, Hibernate понимать приназначение ORM)*\n\n* **Unit \u0026 Integation testing** *(Создать мини метод, сделать на него тест, на истину/ложь и на ошибку)*\n\n* **SOLID + Паттерны проектирования + REST**\n  - *[Link 1 W](https://habr.com/ru/post/688530/)* | *[Link 2 G](https://youtube.com/playlist?list=PLoij6udfBncgRuXhcs1gsWhUlS_8ZOLbg)* | *[Link 3 W](http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod)* | *[Link 4 Y](https://youtu.be/1MDiB2Ya--4)* | *[Link 5 W](https://refactoring.guru/ru/design-patterns)* | *[Link 6 Y](https://youtube.com/playlist?list=PLlsMRoVt5sTPgGbinwOVnaF1mxNeLAD7P)* | *[Книга: Банда четырёх](https://t.me/dmytrii_bookshelf/231)*\n\n* **Git** *(хватит базы, уметь пользоваться через консоль)*\n  - *[основы за час по ролику](https://youtu.be/dHlhCO56Pv0)* | *[GIT Полный курс](https://youtube.com/playlist?list=PLAma_mKffTOTIomJBmL9J42PP0l7riFUO)* | *[GIT Альтернативный курс](https://www.youtube.com/playlist?list=PLuY6eeDuleIOMB2R_Kky05ZfiAx2_pbAH)* | *[GIT Интерактивный тренажер](https://learngitbranching.js.org/?locale=ru_RU)* | *[документация от Жени](https://proselyte.net/tutorials/git/introduction/)*\n \n* **Компьютерные сети** *(Основные верхнеуровневые протоколы, понимание того как работает модель OSI)*\n  - *[Базовые знания](https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1)* | *[Продвинутые темы](https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oh_w4_jtRnKE11aqeRldCFI)* | *[Защищенные сетевые протоколы](https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiFnWCsVRElorOLt69YDEnv)* \n\n\u003c/details\u003e\n\n##\n\n\n\n\n### Дополнительный материал\n\n- Разное:\n  - *[Телега с книгами](https://t.me/borymskyi_bookshelf)*\n  - *[roadmap backend](https://roadmap.sh/backend)*\n  - *[Если у тебя все совсем плохо - лекции CS50](https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5)*\n  - *[Краткие гайды по Java](https://proselyte.net/tutorials/)*\n- Годные Youtube каналы:\n  - *[Кто понимает украинский, Bobocode](https://youtube.com/playlist?list=PLqt5_5aU1KQLFZH-Rltag_AvHtQvDHhzG)*\n  - *[Amigoscode en](https://www.youtube.com/@amigoscode)*\n  - *[Eugene Suleimanov](https://www.youtube.com/c/EugeneSuleimanov)*\n  - *[HighLoad докладоы по тематике высоких нагрузок](https://youtube.com/@HighLoadChannel)*\n  - *[TechTrain доклады](https://youtube.com/@TechTrainFest)*\n  - *[Podlodka tech подкасты](https://youtube.com/@PodlodkaShow)*\n  - *[Уголок сельского джависта](https://youtube.com/@shurik_codes)*\n  - *[Jetbulb](https://youtube.com/@Jetbulb)*\n  - *[letstCode](https://www.youtube.com/c/letsCodeDru)*\n  - *[codelike](https://www.youtube.com/c/codelike)*\n  - *[dmdev](https://www.youtube.com/c/dmdev/videos)*\n  - *[Александр Ильин](https://www.youtube.com/user/MrProstatit)*\n  - *[Ulbi TV](https://www.youtube.com/c/UlbiTV)*\n  - *[Аве Кодер](https://www.youtube.com/c/%D0%90%D0%B2%D0%B5%D0%9A%D0%BE%D0%B4%D0%B5%D1%80)*\n  - *[Senior Software Vlogger](https://www.youtube.com/c/SeniorSoftwareVlogger)*\n\n\n\n\n##\nТакже вы можете поддержать автора чеканной монетой:\n\u003cbr\u003e\nBitcoin ```bc1qsw5wz47s4uj7uq6um9jx5sgcygax7xmtrm6e00``` \u003cbr\u003e\nEthereum ```0x522978b44741f6601b308b2fc3d918cf5f4b9a0c``` \u003cbr\u003e\nTron ```TY7Ekqbu8PmiwUnjutN8tw2AmenUvMV1CB```\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/borymskyi%2Froadmap-java-sng/projects"}