Learning Resources
Roadmap
A day-wise roadmap to learn Java in 30 days. Each day lists the concepts to cover, the outcome you should be able to demonstrate, and the hours to prepare — with every concept linked to its lesson.
Complete Java Programming Roadmap
A structured 30-day plan that takes you from Hello World to OOP, collections, threads, and a project you can demo. Every day lists the concepts to study, the outcome you should be able to demonstrate, and the hours to budget. Concept names link straight to the full lesson.
Choose Your Pace
| Track | Duration | How to follow it | Best for |
|---|---|---|---|
| Fast track | 15 days | About 7 hours a day. Pair up two consecutive days from each phase. | Full-time learners and placement season |
| Standard track | 30 days | About 3–4 hours a day, exactly as the table below is laid out. | College students learning alongside classes |
| Relaxed track | 60 days | About 2 hours a day. Split each day of the table across two sittings. | Working professionals and evening learners |
Phase 1 — Foundation
Goal: Install a JDK and master Java basics: types, I/O, operators, and control flow.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 1 |
| You can explain how Java runs on the JVM, install a JDK, and compile/run a first program. | 2 hrs |
| Day 2 |
| You can read a Java file and name its parts, and you know why main is public static void. | 3 hrs |
| Day 3 |
| You can choose types confidently and write programs that read/print numbers and lines correctly. | 3 hrs |
| Day 4 |
| You can evaluate expressions by hand and avoid = vs == and 5/2 style mistakes. | 3 hrs |
| Day 5 |
| You can implement branching logic with if and switch, and you know when each is clearer. | 3 hrs |
| Day 6 |
| You can write any loop pattern (including for-each) and debug infinite-loop mistakes. | 3 hrs |
| Phase total | 17 hrs | ||
Phase 2 — Arrays, Strings & Methods
Goal: Work with collections of data and break problems into reusable methods.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 7 |
| You can declare, initialise, and traverse arrays, and explain why length is a field. | 3 hrs |
| Day 8 |
| You can process String programs and explain why literals share the pool and why + in a loop is costly. | 3 hrs |
| Day 9 |
| You can design small methods with clear signatures and overload by parameter list. | 3 hrs |
| Day 10 |
| You can write factorial/Fibonacci-style recursion safely and explain stack growth / StackOverflowError. | 3 hrs |
| Day 11 |
| You can solve 4–5 small problems end-to-end without looking up basic syntax. | 4 hrs |
| Phase total | 16 hrs | ||
Phase 3 — Packages, Wrappers & Files
Goal: Organise code, box primitives, and persist data with file I/O.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 12 |
| You can place classes in a package, import them, and explain package-private access. | 3 hrs |
| Day 13 |
| You can convert between primitives and wrappers and avoid == on boxed numbers. | 3 hrs |
| Day 14 |
| You can read/write text files and close streams safely. | 3 hrs |
| Day 15 |
| You can build a tiny program that parses args and processes a text file line by line. | 3 hrs |
| Day 16 |
| You can load records from a file into arrays/lists of simple values and print a report. | 4 hrs |
| Phase total | 16 hrs | ||
Phase 4 — Object-Oriented Java
Goal: Model problems with classes: encapsulation, inheritance, interfaces, and polymorphism.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 17 |
| You can design a class with private data and a clear public interface. | 4 hrs |
| Day 18 |
| You can initialise objects correctly and explain constructor chaining with this and super. | 3 hrs |
| Day 19 |
| You can use static counters/utilities and explain why static methods have no this. | 3 hrs |
| Day 20 |
| You can build a small hierarchy and explain when composition is better. | 4 hrs |
| Day 21 |
| You can write abstract bases and interfaces, and know when each is the right tool. | 4 hrs |
| Day 22 |
| You can demonstrate runtime polymorphism with a superclass or interface reference. | 3 hrs |
| Phase total | 21 hrs | ||
Phase 5 — Exceptions, Generics, Lambdas & Threads
Goal: Handle failures, write type-safe reusable code, and run work concurrently.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 23 |
| You can throw/catch, declare throws, and close files with try-with-resources. | 3 hrs |
| Day 24 |
| You can write a simple generic class/method and use ArrayList without raw types. | 4 hrs |
| Day 25 |
| You can replace a one-method anonymous class with a lambda and name Predicate/Function/Consumer. | 4 hrs |
| Day 26 |
| You can start a worker thread, protect a shared counter, and explain why run() is not start(). | 4 hrs |
| Phase total | 15 hrs | ||
Phase 6 — Collections, Interview & Project
Goal: Master the core collections, revise for interviews, and ship a project.
| Day | Concepts to cover | Outcome | Hours |
|---|---|---|---|
| Day 27 | You can choose ArrayList as the default List and explain when LinkedList helps. | 4 hrs | |
| Day 28 | You can implement word counts with HashMap, unique membership with HashSet, and iterate safely. | 4 hrs | |
| Day 29 | You can answer OOP + Collections + JVM staples out loud and score well on the MCQ set. | 5 hrs | |
| Day 30 |
| You have a finished, demonstrable Java project you can walk an interviewer through end-to-end. | 5 hrs |
| Phase total | 18 hrs | ||
After Day 30
Finishing the table is the start, not the finish. Keep momentum with these next steps.
| Next step | Why it matters |
|---|---|
| Build one more OOP/Collections project | Employers trust working code far more than a list of topics. |
| Practice DSA with ArrayList, HashMap, and HashSet | Those three plus iterators are the daily toolkit for coding rounds. |
| Revise Q&A and the cheatsheet weekly | Spaced repetition keeps equals/hashCode, collections, and threads ready under pressure. |
| Explore JDBC, Spring, or Android next | All of them assume solid OOP, collections, and exception habits from Phases 4–6. |