Skip to main content

Hva er referansetelling?

Referansetelling er en dataprogrammeringsteknikk som brukes til å effektivisere minnestyring, slik at datamaskinen umiddelbart kan vite når det er trygt å frigjøre en bestemt verdi eller blokkering av verdier fra minnet.Ved programmering er økonomien avgjørende, slik at programmer kan kjøres på et bredest mulig spekter av maskinvare.Random Access Memory (RAM) er en viktig, men begrenset ressurs for en datamaskin.Å holde programdata lagret i RAM er en av de raskeste måtene å forbedre responstiden til et program, men å konsumere for mye System RAM gjør programmet til en ressurssvin, en uønsket egenskap fra sluttbrukernes synspunkt.Referansetelling fungerer for å balansere dette ved å holde data i RAM så lenge det trengs av programmet.

Teknikken for referansetelling fungerer ved å holde oversikt over antall og navn på objektene programmet bruker.Tenk på dataminne som et barns rom fylt med leker, og lagringsplass på harddisken som et brystkiste i rommet.Referansetelling holder rede på de spesifikke lekene (objektene) Programmet (Child) leker med når som helst;Med andre ord, antall objekter som for tiden er på gulvet.Så snart programmet slutter å spille med et spesifikt objekt, tar referansetellingen oppmerksom på dette, og sender gjenstanden tilbake til lagring på harddisken, i stedet for å la det fortsette å spise opp plass i rammen.

Når det gjelder fordeler, kommer den primære fordelen med referansetelling fra umiddelbarhet.I det øyeblikket programmet avsluttes med et objekt, legger det det bort, og frigjør plass for andre objekter i programmet, og for andre programmer på datamaskinen.Fra et sluttbrukers synspunkt er dette en veldig ren tilnærming;Programmet tar aldri mer minne enn det krever på noe bestemt tidspunkt.

Ulempen med denne teknikken er økonomi.For at referansetelling skal fungere effektivt, må den bruke en evigvarende overvåkingsenhet for å administrere antall objekter som brukes til enhver tid.Dette bruker en liten del av hukommelsen og CPU -kapasiteten, og øker prosessoroverhead fra programmet.Resultatet er at beslutningen om å bruke referansetelling blir en balanseringshandling, og avgjør om programmereren ønsker å tildele ekstra stress til CPU eller RAM.