Skip to main content

Mi az a gyenge referencia?

A gyenge referencia egy olyan objektumra való hivatkozás, amely nem akadályozza meg az objektumot, hogy a szemétgyűjtési rutinok megtisztítsák az objektummal való kapcsolata miatt.Az ilyen típusú referenciát általában használják a memória szivárgásainak kiküszöbölésére, ha olyan speciális körülmények vannak, amelyek megakadályozzák a normál szemétgyűjtést.A gyenge referenciák felhasználásával körkörös referenciát vagy idegen információkat használó, vagy idegen információkat használó algoritmusok használnak.A gyenge referenciák felhasználása az ilyen típusú helyzetekben lehetővé teszi a fel nem használt referenciakobjok és a kapcsolódó gyenge referenciák tisztítását.Az objektumot mindaddig elosztják, amíg az erős referencia életképes marad.Egy erős referencia semmissé válik, és a kapcsolódó objektumok memóriája nem sokkal azután, hogy egy erős referencia, és objektumát úgy jelölték meg, mint amelyet már nem használnak egy program.Bizonyos helyzetekben, például a socket programozás vagy a kép-manipulációs alkalmazásokban a munkamenetek létrehozásához használt osztályok nem rendelkeznek beépített kapacitással további információk tárolására, amelyet egy adott alkalmazás igényel.Az átmeneti objektumok, például a kapcsolatok vagy a képek további részleteit kiegészítő gyorsítótár -objektumokban kell tárolni, és referenciákkal kell összekapcsolni a tranziens objektumokkal.Ha az erős referencia helyett gyenge referenciát használnak, akkor az extra információkat nem köti a referencia, és a hulladékgyűjtő nem köti el a gyorsítótárból, miután a referencia objektumot nem életképesnek jelölték.

A gyenge referenciaosztályok általában vannakElérhető olyan nyelveken, amelyeket a szemétgyűjtési alrendszerek kiegészítenek, beleértve a Java, Python, Perl, C#és a .NET keretrendszert.A C ++ esetében azonban a programozók általában felelősek a memória tisztításának biztosításáért.Ez a nyelv egy intelligens mutatóosztályt hajtott végre, amely ugyanazokat a funkciókat biztosítja, amelyeket a gyenge referenciák és a szemétgyűjtés biztosít, elősegítve a nem megfelelő mutató tisztítás által okozott memóriaszivárgás csökkentését.Javítsa meg a nyelv funkcionalitását azáltal, hogy finomabb referencia -gradienseket biztosít az erős vagy gyenge referencia kivételével.Az adattípusok, például a puha referenciák és a fantom referenciák beépíthetők ezekbe a nyelvekbe, ami lehetővé teszi az objektumok visszafogásának vagy az üzletlokációról szóló értesítést.Azok a programozók, akik automatikus szemétgyűjtéssel használják a nyelveket, meg kell ismerkedniük az összes referenciaosztálymal, amelyek rendelkezésre állnak az alkalmazás teljesítményének javítása érdekében.