Beginner → Intermediate
Java Mastery — Core Java to Enterprise Architect
From your first program through objects, inheritance, records and the equals contract. Every example runs in a Java console built into the page — no JDK to install — and every exercise is graded by running your code against hidden tests.
The course
Not loading? Open the course in its own tab.
What is covered, and what is not
These 18 modules are the language and the object model — Levels 1 and 2 of a larger curriculum. Collections, generics, streams, concurrency, the JVM and the Spring ecosystem are not covered yet; the course's Roadmap tab lists those 70 planned modules by name rather than showing headings with nothing behind them.
Common questions
Do I need to install a JDK to take this course?
No. The course ships a Java interpreter that runs in your browser, so there is nothing to install and nothing is sent anywhere. Every example and its expected output was compiled and run on a real JDK 21 while the course was built, so what you see is what the JVM printed.
How much of Java does it cover?
It covers 18 modules: the language itself and the object model. From your first program through types and conversion, operators, control flow, strings, arrays and methods, then classes, inheritance, polymorphism, interfaces, nested classes, records, enums, the equals and hashCode contracts, and immutability. Collections, generics, streams, concurrency and the JVM are not covered yet — the course's own Roadmap tab lists the 70 planned modules rather than showing empty headings.
Is the Java course free?
Yes. Every lesson, the graded exercises and the timed drill are free and need no account.
Are the exercises actually graded?
Yes. Your method is run against 162 assertions — some shown, some hidden and aimed at edge cases. The tests check behaviour, never the text of your code, so any correct solution passes.
Does it cover Java interview questions?
The topics interviews lean on hardest get a lesson each: why Java is pass-by-value even for objects, why == is wrong for strings, what happens when an int overflows, the order constructors run in, overriding versus overloading, and why overriding equals without hashCode makes objects vanish from a HashMap.