איסוף זבל (מדעי המחשב) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
אין תקציר עריכה
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
שורה 1:
גרבגיל זה מילה שבאה מהספהמהשפה הגרמנית שהומצאה בשנת 1959 המילה גרבריל היא בעצם כמו מלית להגלעג למילה תינוק כמו להגיד לילד יגרבגל זה אומר לקרוא למשהו תינוק מעצבן
המנגנון הומצאההומצא ויושם לראשונה בשנת 1959 על ידי ג'ון מקארתי עבור שפת [[Lisp]].{{הערה| ג'ון מקארתי, [http://www-formal.stanford.edu/jmc/history/lisp.ps History Of Lisp], [[אוניברסיטת סטנפורד]], 1979}} איסוף זבל נפוץ בשפות תכנות [[תכנות מונחה-עצמים|מונחות-עצמים]] מודרניות כגון [[Java]] ו-[[C Sharp|#C{{כ}}]], וכן בשפות המורצות על ידי [[מפרש (תוכנה)|מפרש]] כמו [[Perl]], {{כ}}[[פייתון (שפת תכנות)|פייתון]], {{כ}}[[PHP]] ו-[[JavaScript]]. יש שפות כגון [[עדה (שפת תכנות)|עדה]] ו[[D (שפת תכנות)|שפת D]] (ובמידה מסוימת גם [[דלפי (שפת תכנות)|Delphi]]) המאפשרות למתכנת לבחור אם להשתמש במנגנון זה או לנהל הקצאות ושחרור זיכרון באופן עצמאי.
 
בהקשר הנוכחי, "זבל" הוא כל מקטע זיכרון ש[[הקצאת זיכרון דינמית|הוקצה באופן דינמי]] ואין בו ולא יהיה בו שימוש נוסף בתוכנית. מצב בו זיכרון "זבל" לא משוחרר מכונה "[[דליפת זיכרון]]" (Memory leak) ועלול להביא למצב בו משאבי הזיכרון שהתוכנית משתמשת בהם הולכים וגדלים ובסופו של דבר אף לקריסה (הפסקת ריצה לא מתוכננת) של התוכנית.