All Java topics

87 topics and 143 subtopics in 12 stages, from your first program to production microservices. Filter by level or search by name, or follow a learning path if you'd like a set order.

87 topics

Stage 1Java fundamentals

How Java runs, types, control flow, arrays, methods and strings.

Stage 2Object-oriented programming

Classes, the four pillars, interfaces, records, sealed types and the Object contract.

Stage 3Core APIs

Exceptions, collections, HashMap internals, generics and java.time.

Stage 4Modern Java

Lambdas, streams, Optional and pattern matching.

Stage 5Data structures and algorithms

Big-O, sorting and searching, linked lists, stacks and queues, trees and graphs, and dynamic programming.

Stage 6Design and clean code

Writing code other people can read, the SOLID principles, and the design patterns you'll meet in real projects.

Stage 7Tools and testing

Maven and Gradle, logging, JUnit and Mockito, debugging, annotations and reflection, and JSON with Jackson.

Stage 8Concurrency and the JVM

Threads, locks, CompletableFuture, virtual threads, memory and garbage collection.

Stage 9JDBC, JPA and Hibernate

From raw JDBC to entity mapping, the persistence context, N+1 queries and transactions. Examples use Jakarta Persistence with Hibernate 6/7 and Spring Boot 3+, which need Java 17.

Stage 10Spring Core and Spring MVC

Dependency injection, bean scopes and lifecycle, AOP, and how a request flows through Spring MVC.

Stage 11Spring Boot

Auto-configuration, configuration and profiles, Spring Data JPA, REST APIs, security and testing.

Stage 12Microservices

Service boundaries, gateways and discovery, messaging, resilience, sagas and deployment.