☕ Java for Software Engineers: Complete Curriculum Index
Welcome to the Java Software Engineering curriculum. This track is structured from an enterprise backend engineer's perspective, covering JVM memory management, Virtual Threads (Project Loom), Spring Boot / Micronaut REST & gRPC APIs, database persistence with JPA/jOOQ, Kafka event streaming, Clean Architecture, OpenTelemetry, Testcontainers, and GraalVM containerization.
Every guide in this series strictly follows a two-part learning format:
- ⚡ Quick Dive: Syntax cheat sheets, JVM comparison matrices, and CLI one-liners.
- 📖 Extended Guide: Deep JVM memory models, runnable Spring Boot implementations, resilience patterns, and container optimization.
📚 Curriculum Roadmap
| # | Guide | Primary Topics Covered |
|---|---|---|
| 01 | Java Fundamentals & JVM Memory | JVM memory layout (Heap, Metaspace, Stacks), GC algorithms (G1, ZGC), Records, Pattern Matching, and Sealed Classes. |
| 02 | Java Concurrency & Virtual Threads | Project Loom Virtual Threads, platform threads vs. virtual threads, carrier threads, and Executors.newVirtualThreadPerTaskExecutor(). |
| 03 | Java REST APIs: Spring Boot & Micronaut | Spring Boot 3 REST controllers, Micronaut AOT, Jakarta Validation, and virtual thread Tomcat configuration. |
| 04 | Java gRPC & Protobuf Services | Protocol Buffers (proto3), grpc-spring-boot-starter, unary/streaming RPCs, and Maven/Gradle plugins. |
| 05 | Java Database Persistence: JPA & jOOQ | Spring Data JPA, Hibernate optimization, HikariCP connection pooling, and type-safe SQL with jOOQ. |
| 06 | Java Event-Driven: Kafka & Cloud Stream | Spring for Apache Kafka (@KafkaListener, KafkaTemplate), manual ACKs, and Spring Cloud Stream binders. |
| 07 | Java Microservices & Clean Architecture | Hexagonal / Ports & Adapters architecture, Domain-Driven Design (DDD), and Resilience4j circuit breakers & retries. |
| 08 | Java Observability: Micrometer & OTel | Spring Boot Actuator, Micrometer dimensional metrics, Prometheus export, and OpenTelemetry distributed tracing. |
| 09 | Java Testing: JUnit 5 & Testcontainers | JUnit 5 assertions, Mockito mocking, MockMvc controller testing, and real PostgreSQL testing with Testcontainers. |
| 10 | Java Containerization & GraalVM Native | Layered JAR Docker builds, minimal Jlink custom runtimes, and sub-50ms startup with GraalVM Native Image. |