Garbage Collector JVM

Garbage Collector

Aplikacje do poprawnego działania potrzebują pamięci, która wraz z czasem użycia aplikacji skończyłaby się – gdyby nie GC. Garbage Collector jest mechanizmem odpowiedzialnym za automatyczne zwalnianie dynamicznie alokowanej pamięci. Co pewien czas sprawdza on aktualny stan pamięci i usuwa z niej nieużywane obiekty.

GC jest jedynie nazwą procesu, każdy z języków może implementować go inaczej. Ważne, że dzięki niemu programista nie musi myśleć o zarządzaniu dynamicznie przydzielanej pamięci. Jest to jedna z cech języków wysokopoziomowych takich jak: Python Ruby, Java lub C#, czego nie spotka się w językach niższego poziomu np. C++.

JVM Garbage Collector – implementacje

JVM Garbage Collector posiada cztery implementacje:

  • Serial Garbage Collector,
  • Parallel Garbage Collector,
  • CMS Garbage Collector,
  • G1 Garbage Collector.

Dla Java 8 domyślnie jest używany Parallel GC, zaś w Java 9 oraz 10 wykorzystywany jest G1 GC. Używaną implementację GC można zmienić podając parametr wejściowy podczas uruchamiania JVM. Taka zmiana jest jednym z elementów tzw. JVM Tuningu – czyli poprawiania wydajności JVM.

Trochę więcej o konkretnych implementacjach JVM GC można przeczytać w tym artykule.

 

Kamil Klimek

Od 2016 jestem programistą Java. Przez pierwsze 4 lata pracowałem jako Full Stack Java Developer. Później postanowiłem postawić nacisk na Javę, żeby jeszcze lepiej ją poznać.

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x