Courses_
Structured, multi-part learning paths. Start from scratch or jump to where you need to be.
// Featured1 course
// System Design2 courses
// JVM & Runtime5 courses
Step 1entry point
ClassLoader PipelineStart course →Step 2
Java BytecodeStart course →Step 3
JVM Memory RegionsStart course →Step 4
Garbage CollectionStart course →Step 5
The JIT CompilerStart course →// Java Language5 courses
Step 1entry point
Java Type SystemStart course →Step 2
Java StringsStart course →Step 3
Java ExceptionsStart course →Step 4
OOP InternalsStart course →Step 5
Java GenericsStart course →// Java Collections3 courses
// Modern Java5 courses
// Java Concurrency10 courses
Step 1
Java ThreadsStart course →Step 2
Java Memory ModelStart course →Step 3
Synchronization PrimitivesStart course →Step 4
Explicit LocksStart course →Step 5
Atomic & Lock-FreeStart course →Step 6
Executor FrameworkStart course →Step 7
CompletableFutureStart course →Step 8
Concurrent CollectionsStart course →Step 9
Java SynchronizersStart course →Step 10
Fork/Join & Work-StealingStart course →// Design Patterns5 courses
// Java12 courses
Step 2
Java I/O StreamsStart course →Step 3
Java NIOStart course →Step 4
Java NIO.2Start course →Step 5
Reflection & Dynamic ProxiesStart course →Step 6
Java SerialisationStart course →Step 7
JDBC & Connection PoolingStart course →Step 8
Database TransactionsStart course →Step 9
JPA & HibernateStart course →Step 10
Spring Data JPAStart course →Step 11
Testing MasteryStart course →Step 12
Reactive JavaStart course →// DevOps1 course