/ / Java Garbage Collector for stack - java, odvoz odpadu

Java Garbage Collector pre zásobník - java, zber odpadu

Zodpovedá za odvoz stohu zberateľ odpadu?

Rozdeľuje tiež pamäť na statické / konštantné premenné?

príklad:

class A
{
void fun(){
int x = 100;
static int y = 200;
final int z = 300;
}
}

Sú všetky tri premenné pamäte uvoľnené po dokončení funkcie?

odpovede:

2 pre odpoveď č. 1

Zberač odpadu je zodpovedný za osirelé predmety na halde.

Prezrite si tento výukový program Oracle Základy zbierky Java Java, Vysvetľuje základy GC.


2 pre odpoveď č. 2

Statické polia nebudú mať nárok na zber odpadu, pokiaľ je načítaná trieda, v ktorej žijú. A podľa Oracle docs:

Trieda alebo rozhranie sa môže vyložiť iba vtedy, ak je to jeho definujúca trieda nakladač môže byť regenerovaný zberateľom odpadu.


0 pre odpoveď č. 3

V podstate zbierka odpadov prideľuje pamäťpre všetky objekty, na ktoré už nie je odkazovaný žiadny iný objekt v JVM. Nezáleží teda na tom, či ide o statické alebo inštančné pole alebo lokálnu premennú.