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

Reply via email to