/ / Kedy sa používa java zberač odpadu? - zber odpadu, java

Kedy je použitý zberač odpadkov v jave? - zber odpadu, java

Pokiaľ viem, GC sa používa iba vtedy, keď JVM potrebuje viac pamäte, ale nie som si tým istý. Nie, prosím, niekto navrhne odpoveď na túto otázku.

odpovede:

8 pre odpoveď č. 1

Algoritmus zberu odpadu v Java je ako japochopiť, dosť zložité a nie také jednoduché. K dispozícii je tiež viac ako algoritmus pre GC, ktorý sa dá vybrať pri spustení VM s argumentom odovzdaným JVM.

Tu je FAQ o zbierke odpadu: http://www.oracle.com/technetwork/java/faq-140837.html

Spoločnosť Oracle uverejnila aj článok „LadenieZbierka odpadkov pomocou virtuálneho počítača 5.0 Java [tm], ktorý obsahuje podrobné informácie o zbierke odpadkov a pravdepodobne vám pomôže lepšie porozumieť tejto záležitosti: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html


2 pre odpoveď č. 2

Špecifikácie JVM a java nehovoria nič okeď dôjde k zberu odpadu, je výlučne na implementátoroch JVM, aké politiky chcú používať. Každý JVM by mal pravdepodobne mať nejakú dokumentáciu o tom, ako zaobchádza s GC.

Vo všeobecnosti však väčšina JVM spustí GC, keďalokácia pamäte posunie celkové množstvo alokovanej pamäte nad určitý prah. Môžu sa vyskytnúť rôzne úrovne gc (plné verzus čiastočné / generačné), ktoré sa vyskytujú pri rôznych prahových hodnotách.


1 pre odpoveď č. 3

Zbierka odpadkov je zámerne nejasne opísaná v špecifikácii jazyka Java, aby implementátori JVM poskytli najlepšie pracovné podmienky na zabezpečenie dobrých zberateľov odpadu.

Zberatelia odpadu a ich správanie sú preto veľmi závislé od dodávateľa.

Najjednoduchšia, ale najmenej zábavná je tá, ktorá sa zastavícelý program, keď je potrebné vyčistiť. Iní sú sofistikovanejší a bežia ticho po vyčistení programu, keď idete viac alebo menej agresívne.

Najzábavnejším spôsobom, ako skúmať zber odpadu, je spustiť jvisualvm na serveri Sun 6 JDK. To vám umožní vidieť veľa vnútorných vecí, ktoré sú dôležité pre zber odpadu.

https://visualvm.dev.java.net/monitor_tab.html (ale najnovšia verzia má omnoho viac)


0 pre odpoveď č. 4

V dávnych dobách bol zberač odpadu empirickej povahy. V určitom nastavenom intervale alebo na základe určitých podmienok by kopali a skúmali každý z objektov.

Zberatelia modernej doby sú v tomto zmysle múdrejšíže sa líšia na základe skutočnosti, že predmety majú rôznu životnosť. Objekty sa rozlišujú medzi objektmi mladej generácie a objektmi nájomnej generácie.

Pamäť je spravovaná v fondoch podľagenerácie. Vždy, keď je zaplnená pamäť novej generácie, dôjde k malej zbierke. Zostávajúce objekty sú presunuté do pamäťovej oblasti generácie s nájomným. Keď sa zaplní rezervovaná pamäťová oblasť generácie, dôjde k veľkej zbierke. Uchováva sa tretia generácia, ktorá sa nazýva permanentná generácia a ktorá môže obsahovať objekty definujúce triedy a metódy.