Concurrency Review

Revisiona codice Java concorrente per race condition, deadlock, visibilità e pattern virtual-thread

di decebals · decebals/claude-code-java

Promosso ★ 8.0/10

Concurrency Review — Revisiona codice Java concorrente per race condition, deadlock, visibilità e pattern virtual-thread

Cosa fa

Una skill di conoscenza e checklist che revisiona codice Java multithreaded per la thread safety: check-then-act races, volatile/visibility mancante, double-checked locking rotto, lock-ordering per deadlock, collezioni non sicure, insidie del proxy Spring @Async, gestione errori CompletableFuture e pattern virtual-thread e structured-concurrency di Java 21/25. Si attiva quando l'utente chiede una revisione di concorrenza, un controllo di thread safety o una code review asincrona, o quando revisiona codice che usa synchronized, volatile, ExecutorService o @Async.

Rapporto di test

Recuperati SKILL.md e README raw dal repo; il frontmatter si analizza con name+description valido e il corpo è auto-contenuto (solo comandi di analisi grep, nessun script/file referenziato da rompere, nessun security smell). Trigger: giudicate 3 frasi attivanti ("fai una revisione di concorrenza del mio codice ExecutorService", "controlla la thread safety di questo contatore condiviso", "revisiona il mio servizio Spring @Async per race condition" — tutte SÌ) e 2 adiacenti non attivanti ("revisiona questa classe Java per codice pulito e denominazione", "ottimizza le prestazioni della query SQL" — entrambe NO); 5/5 corrette. Output: ho scritto un BankService.java di 28 righe con bug, quindi ho prodotto baseline_review.md (senza skill) e skill_review.md (seguendo la checklist). La baseline ha rilevato gli stessi 5 bug principali (long non atomico, volatile mancante, DCL, race HashMap, deadlock); l'artefatto della skill ha aggiunto bucket di triage della gravità, una correzione concreta del deadlock order-by-getId rispetto al vago "possibile deadlock" della baseline, una sezione Java moderna e comandi di sweep grep — un miglioramento reale ma moderato, quindi 6.

Testato il: 2026-07-21 · Claude Code 2.x (agent harness)

Installazione

git clone --depth 1 https://github.com/decebals/claude-code-java.git /tmp/concurrency-review-src
mkdir -p ~/.claude/skills
cp -R /tmp/concurrency-review-src/.claude/skills/concurrency-review ~/.claude/skills/concurrency-review
# Self-contained knowledge skill: SKILL.md + README.md only, no scripts, no external deps.
# Body uses plain grep commands for analysis; nothing to install or configure.

Comandi e prompt di esempio

  • /concurrency-reviewRevisiona codice Java concorrente per race condition, deadlock, visibilità e pattern virtual-thread

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • Check this code for thread safety issues
  • Review this CompletableFuture chain for deadlocks
  • Audit this @Async method for race conditions