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

תוכן שנמחק תוכן שנוסף
רן כהן (שיחה | תרומות)
שורה 9:
 
== סביבת הריצה ==
תוכניות המיועדות לרוץ על גבי JVM מהודרות תחילה ל-[[Java Bytecode]], שהוא [[סט פקודות|סט פקודות המכונה]] של ה-JVM. פלט המהדר נשמר בפורמט בינארי מתוקנן, שבדרך כלל מסופק כקובץ {{משמאל לימין|.class}}. כל [[מחלקה (תכנות)|מחלקה]] בתוכנית מהודרת לקובץ {{משמאל לימין|.class}} אחד, ובמקרים מסוימים אף ליותר ([[מחלקה פנימית (תכנות)|מחלקות פנימיות]]). תוכנית תכלול בדרך כלל קובצי {{משמאל לימין|.class}} רבים. כדי להקל על הפצת התוכנית, ניתן לארוז את הקבצים בקובץ {{משמאל לימין[[JAR|.jar]]}}..
 
קבצים אלה משמשים כ[[קלט]] ל-JVM, ורצים על גביה. בזמן הריצה, ה-JVM [[מפרש (תוכנה)|מפרשת]] או מהדרת במקום (באמצעות [[מהדר Just-in-Time|מהדר JIT]]) את הקלט לסט הפקודות המתאים של ה[[מעבד]] עליו רצה בפועל ה-JVM. ברוב המימושים המודרניים של ה-JVM, נעשה שימוש נרחב בהידור במקום כדי להאיץ את מהירות הריצה של התוכנית.