Skip to main content

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.

Day-Wise Plan

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.

30Days
6Phases
103Total hours
3–4Hours / day

Choose Your Pace

TrackDurationHow to follow itBest 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

Day 1 – Day 6 · 17 hrs

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
  • Java Fundamentals
  • Program structure, tokens, keywords
  • main method, comments, compilation
You can read a Java file and name its parts, and you know why main is public static void. 3 hrs
Day 3
  • Data Types & I/O
  • Primitives, variables, final
  • Scanner, printf, nextLine pitfalls
You can choose types confidently and write programs that read/print numbers and lines correctly. 3 hrs
Day 4
  • Operators
  • Arithmetic, logical, bitwise, ternary
  • Precedence and integer-division traps
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
  • Loops
  • for, while, do-while, enhanced-for
  • break, continue, nested loops
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

Day 7 – Day 11 · 16 hrs

Goal: Work with collections of data and break problems into reusable methods.

Day Concepts to cover Outcome Hours
Day 7
  • Arrays
  • 1D / 2D arrays, traversal
  • Why prefer ArrayList later
You can declare, initialise, and traverse arrays, and explain why length is a field. 3 hrs
Day 8
  • Strings
  • Immutability, pool, equals vs ==
  • StringBuilder for loops
You can process String programs and explain why literals share the pool and why + in a loop is costly. 3 hrs
Day 9
  • Methods
  • Parameters, return, overloading
  • static vs instance, varargs
You can design small methods with clear signatures and overload by parameter list. 3 hrs
Day 10
  • Recursion
  • Base case, call stack
  • Recursion vs iteration
You can write factorial/Fibonacci-style recursion safely and explain stack growth / StackOverflowError. 3 hrs
Day 11
  • Mini practice day
  • Combine loops, arrays, strings, methods
  • Cheatsheet skim
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

Day 12 – Day 16 · 16 hrs

Goal: Organise code, box primitives, and persist data with file I/O.

Day Concepts to cover Outcome Hours
Day 12
  • Packages
  • import, access, directory layout
  • javac -d / classpath basics
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
  • File Handling
  • Reader / Writer, Scanner on files
  • try-with-resources preview
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
  • Phase review + small file utility
  • Packages + wrappers + files together
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

Day 17 – Day 22 · 21 hrs

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
  • Static Members
  • static blocks, class vs instance
  • When (not) to use static state
You can use static counters/utilities and explain why static methods have no this. 3 hrs
Day 20
  • Inheritance
  • super, constructor order
  • Composition vs inheritance
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
  • Polymorphism
  • Overload vs override, @Override
  • Dynamic dispatch via superclass refs
You can demonstrate runtime polymorphism with a superclass or interface reference. 3 hrs
Phase total 21 hrs

Phase 5 — Exceptions, Generics, Lambdas & Threads

Day 23 – Day 26 · 15 hrs

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
  • Generics
  • Type parameters, diamond, wildcards intro
  • Why erasure forbids new T()
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
  • Multithreading
  • start vs run, synchronized, volatile
  • join, race conditions, deadlock idea
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

Day 27 – Day 30 · 18 hrs

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
  • Projects
  • Ship one OOP/Collections project with README
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 stepWhy 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.