לדלג לתוכן

תרגול אחיזה ודליפה לוגית

שנו את הניסוי כך שמילון יחזיק 256 מערכים של 64 KiB וימחק כל ערך שני. שמרו probes חלשים לחלק מן הערכים והוציאו את פעולות הבנייה והמחיקה לפונקציות נפרדות. הסבירו מדוע המילון עצמו יכול להמשיך להחזיק מערך פנימי גדול גם אחרי מחיקת התוכן.

כתבו cache מוגבל ל־32 ערכים עם פינוי לפי סדר הכנסה. הגדירו האם עדכון מפתח קיים משנה את סדר הפינוי. בדקו 1,000 הכנסות והוכיחו באמצעות Count שה־capacity נשמר, בלי להסתמך על הרצת GC.

ציירו מסלול אחיזה של אירוע סטטי שמחזיק subscriber, והסבירו מה יתקן את הדליפה ומה רק יגרום לעוד איסופים. הוסיפו לדוח את ההבדל בין allocated bytes, גודל heap חי ו־working set.