Ero sivun ”Automaattinen roskienkeräys” versioiden välillä

p (rd)
 
== Edut ja haitat ==
Ilmeinen ja merkittävä etu automaattisessa muistinhallinnassa on ohjelmien helpompi toteuttaminen, sillä monet virheet vaikkapa C++-kielisissä ohjelmissa liittyvät muistinhallintaan, esimerkiksi viittaaminen muistialueeseen joka on jo vapautettu (joka sisältää tällöin ohjelmoijan tai käyttäjän kannalta useimmiten satunnaista dataa, joka voi tilanteesta riippuen kaataa ohjelman) tai viittaaminen muistialueeseen jota ei ole varattu. {{Lähde?}}
 
Monet virheet ohjelmissa liittyvät muistinhallintaan, esimerkiksi viittaaminen muistialueeseen joka on jo vapautettu tai viittaaminen muistialueeseen jota ei ole varattu. Molemmissa tapauksissa muistialue voi sisältää epävalidia dataa, joka voi aiheuttaa virhetoiminnon.
 
Haittana on taas roskienkeruusta johtuva ''jätekuorma'' ({{k-en|overhead}}), joka voi joskus olla ongelma. Roskienkeräys on usein aikaa vievä operaatio, jossa kaikki ohjelman muistiviittaukset käydään läpi, ja tämä saattaa viedä jopa sekunteja. Käyttämällä manuaalista muistinhallintaa ohjelmoija voi suunnitella koodin optimaaliseksi muistinhallinnan osalta, koska hän saattaa tietää tarkoin missä vaiheessa muistia tarvitaan milläkin hetkellä.
138 054

muokkausta