ABA


"צריך מידע עלfinallization, resurrection & generations"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13471 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13471
Buzzy

   12:28   29.07.06   
אל הפורום  
  צריך מידע עלfinallization, resurrection & generations  
 
   מישהו יכול להסביר לי את הנושאים האלה?
מה הם ולמה צריך אותם באופן כללי...

תודה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אני לא יודע מה אלו , אבל גוגל בטוח שכן [; נסה שמה :) FireAngel 29.07.06 12:44 1
  אני מחפש הסבר בסיסי כי לא ממש הבנתי את המטרה של כל אחד מהם... Buzzy 29.07.06 13:25 2
  מכתב Sn00py  29.07.06 23:41 3
     מעניין :) MULI 30.07.06 13:52 4

       
FireAngel

   12:44   29.07.06   
אל הפורום  
  1. אני לא יודע מה אלו , אבל גוגל בטוח שכן [; נסה שמה :)  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Buzzy

   13:25   29.07.06   
אל הפורום  
  2. אני מחפש הסבר בסיסי כי לא ממש הבנתי את המטרה של כל אחד מהם...  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   23:41   29.07.06   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 0
 
   Finalization: בעצם הניקוי של ה"זבל" של האוביקט שנוצר. כלומר, אתה יוצר אוביקט(אינסטנס של מחלקה מסוימת). בסיומו, מתבצע תהליך ה Finalization, שבו האוביקט "מנקה אחריו" את הזבל שהוא משאיר וכן מפעיל את מנגנון ה Garbage Collection, אם נתמך. שים לב ש-קודם- מתבצע תהליך ה Finalize, ורק אחר כך ניתן להפעיל את תהליך ה GC. תהליך ה Finalization בעצם נותן מן הזדמנות שניה לאוביקט לתת תוצרים נוספים, כלומר שאחרי ההזדמנות השניה הזו האוביקט ינוקה ולא יפעל עוד.

Resurrection: כאשר אתה עושה את תהליך ה Finalization אתה מצפה שמערכת ה Garbage Collector בעצם "תנקה" אחריך. זה לא בהכרח נכון, כי כאשר אתה עושה Finalization, אתה יכול להגדיר(אם האפשרות נתמכת כמובן, למשל ב JAVA) שהאובייקטים שתם זמנם יתייחסו למשתנה מסוים וימנעו בעצם ממערכת ה GC לפעול על האובייקט. תהליך זה נקרא Resurrection.

Generations: למען האמת Generations הוא אלגוריתם נפוץ שמשתמשים בו במערכות Garbage Collection. הוא פועל על כמה עקרונות עיקריים:

-ככל שהאובייקט חדש יותר, כך חייו קצרים יותר.

-ככל שהאובייקט ישן יותר, כך חייו ארוכים יותר.

-קיים סיכוי סביר שלאובייקטים חדשים יהיו קשרים מסוימים, כלומר שאובייקטים חדשים יתייחסו אחד לשני בתדירות גבוהה יותר מאשר אובייקטים ישנים עם חדשים.

-נוח ומהיר יותר "לזרוק לזבל" חלקים חלקים מ"ערימת הזבל" שנוצרת אחרי פעולתו של אוביקט, מאשר לזרוק את כולו בבת אחת.

על פי מה שאני יודע, מנגון ה GC של C# ו JAVA עובדים על פי אלגוריתם זה.

אם יש עוד שאלות אתה מוזמן :-)

לירן.

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   13:52   30.07.06   
אל הפורום  
  4. מעניין :)  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net