Available tool
Database Connection Contention and Recovery Lab
Model bounded connection pools, lock waits, retries, replica lag, and failover ambiguity in a deterministic browser-only timeline.
Open toolReliability Labs
Model fixed pools, virtual threads, resource guards, deadlines, and cooperative cancellation with a deterministic browser-only timeline.
Deterministic browser-only state machine
Compare task admission, resource demand, deadlines, and cooperative cancellation without creating threads or measuring performance.
Six teaching scenarios
Deterministic result
| Tick | Task | Phase | Detail |
|---|
How to use it
Use six fixed scenarios or choose one input at a time. Every task arrives at tick 0, events use a stable task-ID order, and deadline interruption happens before work advances at its tick. The same input produces byte-identical results.
Fixed pools apply worker-plus-queue admission. Virtual-thread-per-task execution accepts and starts every task, while a separate guard controls demand on the modeled finite resource. With no guard, excess demand becomes explicit contention and capacity-breach evidence; the lab does not invent a downstream failure.
Read Java Concurrency Budget Lab: Queues, Virtual Threads, and Cancellation for a walkthrough of all six scenarios. Continue through Java Virtual Threads for Backend Services, Java Interruption, Cancellation, and Deadlines, and Production Java Concurrency Troubleshooting.
This lab is not a performance test, capacity plan, JVM benchmark, thread-pool calculator, or source of deployable Spring configuration. Nothing leaves this browser.
Related tools
These local-first tools often pair well with Java Concurrency Budget Lab.
Available tool
Model bounded connection pools, lock waits, retries, replica lag, and failover ambiguity in a deterministic browser-only timeline.
Open toolAvailable tool
Model readiness, surge, unavailable replicas, drain time, rollout stalls, and version capacity with a deterministic browser-only timeline.
Open toolAvailable tool
Simulate ACK timing, crashes, bounded retries, redelivery, duplicate effects, and stable idempotency entirely in your browser.
Open toolFAQ
No. It is a deterministic discrete-event teaching model that creates no threads, runs no benchmark, calls no API, and uploads no input.
No. Tick durations and teaching ranges are synthetic. Production capacity requires measured workload, JVM, connection, dependency, and user-outcome evidence.
The virtual-thread-per-task model starts every task and does not apply fixed-executor admission. CPU, connections, and downstream resources remain separately limited.
No. The cooperative branch models local observation of interruption. Databases, HTTP calls, payments, and email retain their own deadline, idempotency, and reconciliation contracts.