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