Core Java · 17 phases · 149 topics · ~74 h
The Core Java Roadmap
Every phase is labelled by level so you can start where you are. Each topic opens with a real-life analogy, then commands and code you run yourself, then questions with reveal answers. Progress is saved as you go.
Where should I start?
Pick a path for your goal
Complete beginner
Never programmed before. Start at the very first topic: every word is explained.
Job-ready Java developer
You know the basics and want the depth employers test.
Senior and interviews
You use Java daily and want internals and modern Java.
The full curriculum
Start Here: Programming and Java from Zero
Beginner ~4 h0/8 · 0%What a program is, what Java, the JDK and the JVM are, which Java version to use, how to run your first program, and what really happens when it runs.
- What a Program Is
- What Java Is: JDK, JRE, JVM and Bytecode
- Java Versions, LTS Releases and the Version Tags in This Course
- Install the JDK and Run Your First Program
- Anatomy of a Java Program
- Try Java Instantly with JShell
- Reading Compiler Errors and Stack Traces
- How Your Code Really Runs: Compile, Load, Interpret, JIT
Variables, Types and Operators
Beginner ~7 h0/14 · 0%How Java stores values: variables, the eight primitive types, overflow, decimals, casting, every operator, Strings, var, formatted output, input and constants.
- Variables: Named Boxes for Values
- The Eight Primitive Types
- Integer Ranges and Overflow
- Decimals: double, float and Why 0.1 + 0.2 Isn't 0.3
- char and boolean
- Type Conversion and Casting
- Arithmetic Operators, Integer Division and Remainder
- Comparison and Logical Operators
- Bitwise and Shift Operators
- Strings: The Basics
- Local Variable Type Inference with var
- Printing and Formatting Output
- Reading Keyboard Input with Scanner
- Constants, final and Literals
Inheritance and Polymorphism
Intermediate ~7 h0/13 · 0%extends, super, overriding, dynamic dispatch, abstract classes, interfaces, sealed types, final, composition and nested classes, down to the bytecode.
- Inheritance with extends
- The super Keyword
- Method Overriding and @Override
- Polymorphism and Dynamic Dispatch
- Upcasting, Downcasting and instanceof
- Abstract Classes
- Interfaces
- Default, Static and Private Interface Methods
- Abstract Class vs Interface
- The final Keyword
- Sealed Classes and Interfaces
- Composition over Inheritance
- Nested, Inner, Local and Anonymous Classes
The Collections Framework
Intermediate ~6 h0/13 · 0%Lists, sets, maps, queues and heaps from the inside: ArrayList growth, HashMap buckets and treeify, TreeMap, PriorityQueue, iterators and Big-O.
- The Collections Map
- ArrayList Inside Out
- LinkedList
- HashMap Internals
- HashSet, LinkedHashSet and TreeSet
- LinkedHashMap and TreeMap
- Queue, Deque and ArrayDeque
- PriorityQueue
- Iterators and Fail-Fast Behaviour
- Comparable and Comparator
- Immutable and Unmodifiable Collections
- Sequenced Collections
- Choosing the Right Collection
Concurrency
Advanced ~3 h0/11 · 0%Threads, synchronized, volatile and the Java Memory Model, locks, executors, CompletableFuture, concurrent collections, deadlocks and virtual threads.
- Threads and Runnable
- Thread Lifecycle, join and sleep
- Race Conditions and synchronized
- volatile and the Java Memory Model
- Locks, Conditions and wait/notify
- Executors and Thread Pools
- Future and CompletableFuture
- Concurrent Collections and Atomics
- Deadlock, Livelock and Starvation
- Virtual Threads
- Structured Concurrency and Scoped Values