Ciao, anche se con ritardo vi giro qualche articolo interessante a riguardo, sperando di fare cosa utile.
Shenandoah è stato sperimentalmente rilasciato con la JRE 12, ma non su tutte (https://developers.redhat.com/blog/2019/04/19/not-all-openjdk-12-builds-include-shenandoah-heres-why/), io l'ho provato con la AdoptOpenJDK senza alcun problema. Ricordo inoltre che la distribuzione di Adopt è disponibile con OpenJ9 che per piccole applicazioni (come un Docker) va benissimo. Shenandoah non è un GC senza pause ma riesce a parallelizzare anche quello che il G1 non faceva, avendo molto brevi. Le prestazioni di Shenandoah dipendono comunque dalle solite cose che vanno evitate sulla JVM: finalize, reflection e synchronize. Se volete approfondire http://clojure-goes-fast.com/blog/shenandoah-in-production/ http://clojure-goes-fast.com/blog/shenandoah-in-production/ Infine per i più curiosi consiglio vivamente di entrare in dettaglio con due video molto esplicativi https://www.youtube.com/watch?v=0ytAwK7CKCE&list=PLRsbF2sD7JVpfbaiBoeCOCMCWxSTuuZ5c&index=13 https://www.youtube.com/watch?v=0ytAwK7CKCE&list=PLRsbF2sD7JVpfbaiBoeCOCMCWxSTuuZ5c&index=13 https://www.youtube.com/watch?v=qBQtbkmURiQ https://www.youtube.com/watch?v=qBQtbkmURiQ Infine la deduplicazione delle stringhe è disponibile solo per il G1. Ciao a tutti, Vasco
