Java Deep Dive
Modern Java (21 and 25), concurrency, the Java Memory Model, atomics and lock-free code, JVM internals, JIT, garbage collectors, performance tooling, and low-latency Java for big tech, fintech, and trading interviews.
Start with Types, Variables, and Expressions →Language Core
Types, strings, classes and interfaces, object contracts, exceptions, enums and annotations, packages and modules, records, sealed types, pattern matching, and Optional.
- 1.Types, Variables, and Expressions
- 2.Strings and Text
- 3.Classes, Interfaces, and Inheritance
- 4.Exceptions
- 5.Object Contracts: equals, hashCode, and Comparison
- 6.Immutability, Defensive Copying, and Object Lifecycle
- 7.Records and Sealed Types
- 8.Pattern Matching
- 9.Packages, Modules, and Reflection
- 10.Enums and Annotations
Generics
Generic classes and methods, bounded types, wildcards, PECS, and type erasure.
Lambdas and Optional
Lambdas, method references, functional interfaces, Optional, and API design.
Collections
Lists, deques, HashMap internals, sorted maps, heaps, sequenced collections, and primitive collections.
Streams
Streams, collectors, gatherers, parallel streams, and their cost.
Testing
JUnit 5, Mockito, Testcontainers, and testing concurrent code.
Concurrency
Threads, locks, synchronizers, executors, CompletableFuture, concurrent collections, and virtual threads.
CPU and Memory Hardware
Caches, cache lines, locality, coherence, store buffers, false sharing, branch prediction, and NUMA.
Java Memory Model
Visibility, reordering, happens-before, volatile, safe publication, and final fields.
Atomics and Lock-Free Code
CAS, VarHandle access modes, fences, ABA, lock-free queues, and the Disruptor pattern.
JVM Internals
Bytecode, class loading, object layout, allocation, runtime data areas, safepoints, warmup, and deoptimization.
JIT Compilation
C1 and C2, inlining, intrinsics, escape analysis, scalar replacement, lock elimination, and reading generated assembly.
Garbage Collection
GC fundamentals, G1, ZGC, Shenandoah, Serial, Parallel, Epsilon, and tuning with GC logs.
Off-Heap Memory
Direct buffers, memory-mapped files, and the Foreign Function and Memory API.
Linux for Java
Processes, threads, scheduling, CPU affinity, virtual memory, page faults, and perf.
Performance Tooling
JMH, JFR, async-profiler, flame graphs, percentiles, and coordinated omission.
Networking and I/O
Blocking I/O, NIO, sockets, TCP and UDP options, multicast, the HTTP client, and binary protocols.
Low-Latency Java
Allocation-free code, object reuse, busy spinning, thread affinity, and the Agrona, Aeron, SBE, and Chronicle libraries.
Fintech Correctness
Money and BigDecimal, rounding, idempotency, ledgers, and reconciliation in Java.
Trading Systems
Market data, order books, matching engines, and FIX, built as Java projects.
Java 17 to 25 Reference
A release-by-release map of the features taught in this course.
Interview Questions
Interview questions for senior and lead engineers covering every section of the course.
