All Roadmaps
Learning Path

Java Roadmap

From syntax to production-grade systems

5Phases
7Weeks
31Skills

Your Journey at a Glance

1Foundations5 skills
2Core Java7 skills
3Advanced Java7 skills
4Ecosystem & Tooling6 skills
5Expert & Production6 skills

💡 How to use this roadmap

Work through each phase in order. Click on a skill to expand it — you'll find a description and curated resources. Don't rush; understanding beats speed. Complete one phase before moving to the next.

1

Foundations

Get your environment ready, understand what Java is and where it runs. Write your first programs and build confidence with basic syntax.

Week 1

2

Core Java

The bread and butter of production Java. Everything you write in the real world rests on these pillars — OOP, Collections, Exceptions, and I/O.

Weeks 2–3

3

Advanced Java

Level up from writing code that works to code that scales. Concurrency, JVM internals, the Stream API, and modern Java features that every senior engineer must own.

Week 4

4

Ecosystem & Tooling

Real projects need more than the language. Build systems, testing, logging, database access, and design patterns are what separate hobby code from professional software.

Weeks 5–6

5

Expert & Production

The final frontier — writing Java that performs at scale, survives production, and evolves safely. Deep technical mastery meets real-world engineering judgment.

Week 7

🏆

Roadmap Complete!

You now have the foundations of a production-ready Java engineer. Apply by building real projects.

Capstone Project

Online Ticket Booking System

A full-featured event ticket booking system built entirely in pure Java. Exposes an HTTP API via Java's built-in HttpServer, persists data to MySQL using raw JDBC, handles concurrent seat reservations with ReentrantLock, and ships a suite of JUnit 5 + Mockito tests — demonstrating every concept from the roadmap without a single framework.

What you'll build

  • HTTP API (no framework): BookingHandler, EventHandler, UserHandler using com.sun.net.httpserver.HttpServer
  • MySQL persistence via raw JDBC — PreparedStatement, ResultSet, manual transaction management
  • HikariCP connection pool configured programmatically (no Spring context)
  • Concurrent seat locking: ReentrantLock per event prevents double-booking under load
  • ExecutorService-based bulk event import from CSV using CountDownLatch for completion sync
  • Generics-based Page<T> and Result<T> wrappers for all API and service responses
  • Java Stream API + Optional: revenue reports, occupancy rates, and overdue payment detection
  • JUnit 5 + Mockito test suite: unit tests per layer, integration tests against a real MySQL test database

Tech stack

Java 25JDBCHikariCPMySQLJUnit 5Mockitocom.sun.net.httpserver

Key highlights

  • Zero Spring, zero ORM — every dependency is wired manually to internalise DI and layering
  • ReentrantLock ensures thread-safe seat reservation across concurrent HTTP requests
  • Tests cover >80% of business logic including concurrency edge cases and JDBC rollback paths

Want to Go Deeper?

Join a live cohort, watch tutorials, or read in-depth blog posts on the topics in this roadmap.