One blocking lookup per key is exactly what virtual threads are for. The submission order is not the completion order, so pair each future with its key and sort on the way out - otherwise the report shuffles between runs.
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-09-20