Java Virtual Machine – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Addbot (שיחה | תרומות)
מ בוט: מעביר קישורי בינויקי לויקינתונים - d:q193321
Matanyabot (שיחה | תרומות)
מ בוט:מלביש קישורים חיצוניים. (FAQ : en:User:DumZiBoT/refLinks )
שורה 30:
 
=== אימות ===
ה-JVM מאמתת את ה-Bytecode קודם להרצתו. כלומר, רק סדרות תקינות של הוראות Bytecode יוכלו לרוץ. לדוגמה, הוראת JUMP (הסתעפות) יכולה לכוון רק להוראה הנמצאת באותה הפונקציה. לשימוש במאמת יש תופעת לוואי מבורכת: למרות שה-JVM מבוססת על ארכיקטורה של מחסנית, אין פגיעה בביצועים גם כאשר נעשה שימוש בהידור JIT על גבי פלטפורמות חומרה בארכיטקטורת רגיסטרים<ref>[http://db.usenix.org/events/vee05/full_papers/p153-yunhe.pdf f31-yunhe.dvi<!-- Bot generated title -->]</ref>.
 
נוסף על כך, אימות הקוד מבטיח גם שלא יהיה ניתן להשתמש בתבניות [[ביט]]ים שרירותיות ככתובות זיכרון. בשיטה זו, אין צורך להשתמש ב-[[MMU]] כדי להגן על הזיכון בפני השחתה שרירותית. מכאן, שה-JVM מאפשרת יישום יעיל של [[זיכרון מוגן]] בפלטפורמות חומרה החסרות MMU.