Modern Java for Rust Engineers

Experienced Rust developer, proficient with ownership, traits, async/await, Cargo. Used Java 8 or earlier; unfamiliar with modern features (records, sealed classes, virtual threads, JPMS). Intermediate level — knows programming deeply but needs a mental model bridge from Rust to modern Java.

8 modules · 4 hours 30 min

Scope

Java 17–21+ language features compared to Rust equivalents: type system differences, concurrency models, memory model, error handling paradigms, functional programming idioms, build tooling, and interface-based polymorphism.

After completing this plan, you will be able to:

  • Read a modern Java 21 codebase and understand idiomatic patterns without constant reference lookups
  • Identify which Rust pattern corresponds to which Java pattern (and vice versa)
  • Write a small Java service using records, sealed classes, virtual threads, and streams
  • Set up a Gradle project with proper module structure, dependencies, and tests
  • Make informed decisions about error handling, concurrency, and memory in Java