Shenandoah ja ZGC peamised kasutusjuhud on järgmised:
Shenandoah GC:
1. Madal latentsusaeg: Shenandoah on loodud pausiaegade minimeerimiseks, teostades enamiku prügikoristustöödest samaaegselt rakendusega. See tagab, et rakendus jääb tundlikuks ja toimib hästi ka suure mälukasutuse korral.
2. Kõrge läbilaskevõime: Shenandoah on loodud suure läbilaskevõime tagamiseks, minimeerides prügikoristusele kuluvat aega. See tagab, et rakendus jätkab tõhusat töötamist ka suure mälukasutuse korral.
3. Suured kuhjad: Shenandoah on loodud suurte kuhjade tõhusaks käsitlemiseks, muutes selle sobivaks rakendustele, mis nõuavad suuri mälueraldisi.
4. Pidev eraldamine: Shenandoah sobib pideva objektide jaotamise ja kasutamisega rakendustele, kuna saab sellega tõhusalt hakkama.
5. Vanemad objektid: Shenandoah sobib rakendustele, kus objektid on vanemad ja uute objektide loomise üldkulud on väikesed, kuna see saab sellega tõhusalt hakkama.
6. Konteinerite kasutamine: Shenandoah'i saab kasutada konteinerites keskkondades, kuid see sõltub konkreetsest kasutusjuhtumist.
ZGC:
1. Madal latentsusaeg: ZGC on loodud pausiaegade minimeerimiseks, teostades enamiku prügikoristustöödest samaaegselt rakendusega. See tagab, et rakendus jääb tundlikuks ja toimib hästi ka suure mälukasutuse korral.
2. Kõrge läbilaskevõime: ZGC on loodud pakkuma suurt läbilaskevõimet, minimeerides prügikoristusele kuluvat aega. See tagab, et rakendus jätkab tõhusat töötamist ka suure mälukasutuse korral.
3. Suured kuhjad: ZGC on loodud suurte kuhjade tõhusaks käsitlemiseks, muutes selle sobivaks rakendustele, mis nõuavad suuri mälueraldisi.
4. NUMA-Aware: ZGC on loodud olema NUMA-teadlik, mis tähendab, et see saab tõhusalt hakkama suurte hunnikute ja mitme protsessori tuumaga.
5. Katsefunktsioon: ZGC on eksperimentaalne funktsioon ja selle lubamiseks on vaja konkreetseid käsurea valikuid. See sobib rakendustele, mis nõuavad väga lühikest pausi ja saavad hakkama suurte mälueraldistega.
Kokkuvõtlikult võib öelda, et nii Shenandoah kui ka ZGC on loodud pakkuma madalat latentsust ja suurt läbilaskevõimet, muutes need sobivaks rakendustele, mis nõuavad tõhusat mäluhaldust.
Tsitaadid:[1] https://www.opsian.com/blog/aleksey-shipilev-shenandoah-concurrent-gcs/
[2] https://clojure-goes-fast.com/blog/shenandoah-in-production/
[3] https://wiki.openjdk.org/display/shenandoah/Main
[4] https://www.diva-portal.org/smash/get/diva2:1466940/FULLTEXT01.pdf
[5] https://developers.redhat.com/articles/2024/05/28/beginners-guide-shenandoah-garbage-collector