☕ 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.