Java Training - Beginner to Production-Ready
A structured, module-by-module Java training curriculum. Each module contains real, non-trivial examples designed to force genuine understanding - not just copy-paste familiarity.
How This Repo Works
- Each module lives in its own directory:
module-NN-topic-name/ - Every module has a theory document with diagrams + annotated snippets - read it first, run the code second
- Code examples are intentionally non-trivial - simple enough to follow, complex enough to be worth studying
- Build tool progression: early modules use Maven, later modules introduce Gradle
- Work through modules in order - later modules build on earlier ones
Curriculum at a Glance
| Phase | Modules | Topics |
|---|---|---|
| Phase 1 - Fundamentals | 01–11 | Language, OOP, exceptions |
| Phase 2 - Core APIs | 12–24 | Generics, collections, streams, concurrency, JVM |
| Phase 3 - Intermediate Engineering | 25–30 | Design patterns, testing, build tools |
| Phase 4 - Databases & Persistence | 31–35 | JDBC, JPA/Hibernate, Spring Data, migrations |
| Phase 5 - Spring Ecosystem | 36–45 | Boot, REST, security, reactive, batch |
| Phase 6 - Production & Architecture | 46–59 | Microservices, cloud, observability, CI/CD |
Total: 59 modules. Java 21 LTS throughout.
Prerequisites
- macOS, Linux, or Windows (WSL recommended)
- Basic terminal / command-line comfort
- Nothing else - we install everything from Module 01
Java Version
This training targets Java 21 LTS. Modern features used throughout: records, sealed classes, switch expressions, text blocks, virtual threads, pattern matching.
Start here → Module 01 - Environment Setup