Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon vilka är de huvudsakliga användningsfallen för Shenandoah och ZGC


vilka är de huvudsakliga användningsfallen för Shenandoah och ZGC


De huvudsakliga användningsfallen för Shenandoah och ZGC är:

Shenandoah GC:

1. Låg latens: Shenandoah är utformad för att minimera paustider genom att utföra det mesta av sophämtningsarbetet samtidigt med applikationen. Detta säkerställer att applikationen förblir lyhörd och fungerar bra även under hög minnesanvändning.

2. Hög genomströmning: Shenandoah är designad för att ge hög genomströmning genom att minimera tiden som ägnas åt sophämtning. Detta säkerställer att applikationen kan fortsätta att köras effektivt även under stor minnesanvändning.

3. Stora högar: Shenandoah är designad för att hantera stora högar effektivt, vilket gör den lämplig för applikationer som kräver stora minnesallokeringar.

4. Konstant allokering: Shenandoah är lämplig för applikationer med konstant tilldelning och användning av objekt, eftersom den kan hantera detta effektivt.

5. Äldre objekt: Shenandoah är lämplig för applikationer där objekten är äldre och kostnaden för att skapa nya objekt är liten, eftersom den kan hantera detta effektivt.

6. Användning av behållare: Shenandoah kan användas i containermiljöer, men det beror på det specifika användningsfallet.

ZGC:

1. Låg latens: ZGC är utformad för att minimera paustider genom att utföra det mesta av sophämtningsarbetet samtidigt med applikationen. Detta säkerställer att applikationen förblir lyhörd och fungerar bra även under hög minnesanvändning.

2. Hög genomströmning: ZGC är designad för att ge hög genomströmning genom att minimera tiden som ägnas åt sophämtning. Detta säkerställer att applikationen kan fortsätta att köras effektivt även under stor minnesanvändning.

3. Stora heaps: ZGC är designad för att hantera stora heaps effektivt, vilket gör den lämplig för applikationer som kräver stora minnesallokeringar.

4. NUMA-Aware: ZGC är designad för att vara NUMA-medveten, vilket innebär att den effektivt kan hantera stora högar och flera CPU-kärnor.

5. Experimentell funktion: ZGC är en experimentell funktion och kräver specifika kommandoradsalternativ för att aktivera. Den är lämplig för applikationer som kräver mycket korta paustider och kan hantera stora minnesallokeringar.

Sammanfattningsvis är både Shenandoah och ZGC designade för att ge låg latens och hög genomströmning, vilket gör dem lämpliga för applikationer som kräver effektiv minneshantering.

Citat:
[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