הבדל בין JVM ו- JRE

Anonim

JVM לעומת JRE

Java היא שפת תכנות בין פלטפורמות. היא גם שומרת על עקרון "כתוב פעם אחת, הפעל בכל מקום". התוכנית שנכתבה ב- Java יכול להיות הידור על ידי Java bytecode על ידי מהדר ג 'אווה. לאחר מכן, את bittecode ניתן לבצע על כל פלטפורמה מפעיל את JRE (Java Runtime Environment). JRE כולל את JVM (Java Virtual Machine), ספריות בסיס (המיישמות את Java API) וקבצים תומכים אחרים. JVM היא מכונת מחשוב מופשטת שפועלת כמגשרת בין פלטפורמות ה- JRE הספציפיות לבין קוד Java.

-> ->

מה זה JVM?

JVM הוא סוג של מכונה וירטואלית המשמשת את המכונות לבצע Java bytecode. לדברי סאן מיקרוסיסטמס (שפיתחה את ג'אווה עד שנרכשה על ידי אורקל, לאחרונה), יש יותר מ -4 מיליארד מכשירים מאופשרים בעולם. באופן ספציפי יותר, Java Virtual Machine הוא מחשב מחשוב מופשט המיושם על חומרה סטנדרטית ומערכת הפעלה. אחת הפונקציות החשובות המסופקות על ידי JVM הוא טיפול חריג אוטומטי. בדרך כלל, אוסף של ספריות סטנדרטיות ללוות את JVM. למעשה, JRE הוא צרור המכיל את JVM ואת הכיתות מיישמים את Java API. JVM הוא מרכיב חשוב מאוד, אשר מתאים את "לקמפל פעם, לרוץ בכל מקום" הטבע של שפת התכנות ג 'אווה. כל עוד JVM פועל, קוד ג 'אווה שלך יכול לרוץ על גבי זה, ללא קשר לפלטפורמה המשמשת את המכונה. זו הסיבה ג 'אווה נקרא פלטפורמה בין פלטפורמת או רב פלטפורמה.

-> ->

מהו JRE?

JRE היא סביבת הביצוע שבה פועל קוד Java. בדרך כלל, JRE מורכב JVM, כיתות בסיס סטנדרטיים (כי ליישם את בסיס Java Java) וקבצים תומכים אחרים. סוג ומבנה JRE להשתנות בהתאם למערכת ההפעלה ואת הארכיטקטורה CPU. כאשר קוד ג 'אווה מופעל, JRE יהיה לתקשר עם מערכת ההפעלה, אשר בתורו ידבר עם רכיבי החומרה המתאימים. לאחר JRE מותקן על המערכת שלך היא חייבת להפעיל את כל קוד ג 'אווה במחשב שלך. עם זאת, JRE אינו כולל מהדר, debugger או כל כלי אחר הדרוש לפיתוח של תוכניות Java (כגון appletviewer ו javac). אם אתה צריך לפתח תוכניות ב- Java, אתה צריך את JDK (Java Development Kit), הכוללת את JRE גם כן.

-> ->

מה ההבדל בין JVM ו- JRE?

אמנם, בשימוש יומיומי, המונחים JVM ו- JRE נמצאים בשימוש לסירוגין, יש להם את ההבדלים ביניהם. JVM היא מכונה וירטואלית שפועלת על גבי מערכת ההפעלה, בעוד ש- JRE היא סביבת ביצוע הריצה. JVM הוא חלק של JRE. מפרט JVM פועל כקישור בין יישום ה- JRE הספציפי לפלטפורמה לבין ספריות Java הסטנדרטיות.לכן, JVM היא הישות המספקת את ההפשטה מפרטי הביצוע הפנימיים למתכנת. והיא אחראית על פרשנות של bitcode הידור. עם זאת, JVM צריך את ספריות הבסיס ואת הקבצים התומכים אחרים כדי לבצע את jtava bytecode. אבל לפעמים, JRE פשוט מזוהה כמו יישום של JVM.