דגם הזיכרון של ג'אווה- סקירה מהירה כמה דברים לתשומת לב
במחשוב, מודל הזיכרון מתאר כיצד מתבצעת אינטראקציה בין חלקים שונים בעזרת זיכרון או לציין אלו הנחות של קיבוץ נתונים מאפשרים בעת יצירת קוד עבור זיכרון מקוטע או עמוד פלטפורמה זיכרוני.
מודל הזיכרון של JAVA מתאר כיצד מתבצעת אינטראקציה בשפת תכנות JAVA בין חלקים ונושאים שונים בזיכרון. ביחד עם התיאור של הליכי משנה בודדים היוצאים לפועל של הקוד, מודל הזיכרון מפיק סמנטיקה בשפת תכנות בJAVA. מודל הזיכרון הראשון של JAVA התפתח בשנת 1995 נתפס בעיני רבים כקוד שבור. לאחר מתן של הרצות רבות ואופטימיזציה מרובה של המודל, בסופו של דבר זה לא נתן ערבויות מספיק חזקות בטיחות של המודל.
ניתן למצוא למצוא מידע ממש מעולה בספר של “Threads and Locks” בפרק של "מפרט שפת JAVA" "והזיכרון המודולארי של "JAVA .
קורס תכנות בהאקריו
מודל הזיכרון של JAVA מתאר את החוקיות אשר מגדירה איך משתנים נרשמים לתוך הזיכרון יראו,כאשר המשתנים אשר נרשמים ונקראים על ידי מספר שונה של אשכולות שונות. כאשר אחד האשכולות קורא משתנה זה לא בהכרח מקבל את הערך האחרון מהזיכרון. המעבד יכול להחזיר את העותק האחרון של הערך. בנוסף אפילו דרך הקוד של המתכנת כאשר המשתנה נרשם לראשונה ונקרא אחרון הקלט יכול לארגן מחדש את את ההצהרות כל עוד זה לא משנה את הסמנטיקה של התוכנה. זה די שכיח למעבדים והקלט לעשות דברים כאלה כאשר מבצעים אופטימיזציה לביצועים. בסופו של דברים האשכולות לא יראו את הערך אשר מצפים ממנו, זה בר ביצוע קשה כאשר משנים לעשות שיפורי באגים במערכת במערכת.
שפת התכנות של JAVA מספקת סינכרוניזציה, תנודתיות, ואת הסופיות של המילות המפתח אשר בסופו של דבר עוזרות לכתיבה בטיחותית של אשכולות רבות. לגירסה הסופית של JAVA היו כמה בעיות, בגלל שמודל הזיכרון לא היה תחת ציון. JSR 133 (מודל הזיכרון של JAVA וגירסאת מפרט הטכני של האשכול) תיקן כמה מהפגמים במודל הזיכרון האחרון.
רוב המתכנתים מודעים לעובדה כאשר הם רוצים להכניס בלוק מסונכרן משמעותו קבלת נעילת צג אשר מבטיח שכל שאר האשכולות לא יכולים להיכנס לבלוק המסונכרן. פחות ידוע אבל חשוב באותה מידה אלו העובדות אשר גורמות לכך.
רכישת נעילה והכנסת בלוק מסונכרן תשפיע על האשכול לשאוב מידע עדכני על ידי כך שהיא מרעננת אותו מהזיכרון שלו.
בפלט של הבלוק המסונכרן, המידע שיוצא יורד ישר לזיכרון.
זה מבטיח שהערך אשר נרשם על ידי האשכול הוא בתוך הבלוק המסונכרן והמידע מתקבל שקוף לכל שאר האשכולות אשר מנסים לקרוא אותו.
קורס תכנות בהאקריו