Czym jest Garbage Collector?

Share on facebook
Share on twitter
Share on linkedin
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

Kamil Klimek

Pierwszy kalkulator napisany w języku Pascal w podstawówce. Później miałem trochę przygód z frontendem oraz PHP, na studiach poznałem C++ oraz Jave. Obecnie prawie 3 letnie doświadczenie jako Java full stack develop. Blog jest miejscem, dzięki któremu mogę się dzielić wiedzą i pomagać innym w nauce programowania.
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x