JVM vs JRE
ጃቫ ተሻጋሪ ፕሮግራሚንግ ቋንቋ ነው። እንዲሁም "አንድ ጊዜ ጻፍ, የትኛውም ቦታ መሮጥ" የሚለውን መርህ ያከብራል. በጃቫ የተጻፈውን ፕሮግራም በጃቫ ኮምፕሌተር ወደ ጃቫ ባይትኮድ ማጠናቀር ይቻላል። ከዚያም ባይትኮዱ JRE (Java Runtime Environment) በሚያሄድ ማንኛውም መድረክ ላይ ሊተገበር ይችላል። JRE JVM (Java Virtual Machine)፣ ቤዝ ቤተ-መጽሐፍት (የጃቫ ኤፒአይን የሚተገበር) እና ሌሎች ደጋፊ ፋይሎችን ያካትታል። JVM በመሣሪያ ስርዓቶች ልዩ JRE እና በጃቫ ኮድ መካከል እንደ አስታራቂ ሆኖ የሚሰራ ረቂቅ የኮምፒውተር ማሽን ነው።
JVM ምንድን ነው?
JVM የጃቫ ባይትኮድ ለማስፈጸም በማሽኖች የሚገለገል የቨርቹዋል ማሽን አይነት ነው።በ Sun Microsystems (ጃቫን በ Oracle እስኪገዛ ድረስ የሠራው ፣ በጣም በቅርብ ጊዜ) መሠረት ፣ በዓለም ላይ ከ 4 ቢሊዮን በላይ JVM የነቁ መሣሪያዎች አሉ። በተለይም ጃቫ ቨርቹዋል ማሽን በመደበኛ ሃርድዌር እና ኦፕሬቲንግ ሲስተም ላይ የሚተገበር ረቂቅ ማስላት ማሽን ነው። በJVM ከሚቀርቡት ጠቃሚ ተግባራት አንዱ በራስ-ሰር የተለየ አያያዝ ነው። በተለምዶ፣ የመደበኛ ቤተ-መጻሕፍት ስብስብ ከJVM ጋር አብሮ ይመጣል። በእርግጥ፣ JRE JVMን እና የጃቫ ኤፒአይን የሚተገብሩ ክፍሎችን የያዘ ጥቅል ነው። JVM የጃቫ ፕሮግራሚንግ ቋንቋን “አንዴ ማጠናቀር፣ የትኛውም ቦታ መሮጥ”ን የሚያስተናግድ በጣም አስፈላጊ አካል ነው። JVM እስካለ ድረስ፣ በማሽኑ ውስጥ ጥቅም ላይ የዋለው የመሳሪያ ስርዓት ምንም ይሁን ምን የጃቫ ኮድዎ በላዩ ላይ ሊሄድ ይችላል። ጃቫ መስቀል-ፕላትፎርም ወይም ባለብዙ ፕላትፎርም ቋንቋ የሚባለው ለዚህ ነው።
JRE ምንድን ነው?
JRE የጃቫ ኮድ የሚሰራበት የማስፈጸሚያ አካባቢ ነው። በተለምዶ፣ JRE JVMን፣ መደበኛ ቤዝ ክፍሎችን (መሠረታዊ ጃቫ ኤፒአይን የሚተገበሩ) እና ሌሎች ደጋፊ ፋይሎችን ያቀፈ ነው።የJRE አይነት እና መዋቅር እንደ ኦፕሬቲንግ ሲስተም እና እንደ ሲፒዩ አርክቴክቸር ይለያያሉ። የጃቫ ኮድ ሲሰራ JRE ከስርዓተ ክወናው ጋር ይገናኛል, ይህም በተራው ከተዛማጅ የሃርድዌር ክፍሎች ጋር ይነጋገራል. በእርስዎ ማሽን ላይ ማንኛውንም የጃቫ ኮድ ለማስኬድ JRE በስርዓትዎ ላይ መጫን ግዴታ ነው። ይሁን እንጂ JRE ለጃቫ ፕሮግራሞች እድገት (እንደ አፕልትቪየር እና ጃቫክ ያሉ) ማጠናከሪያ፣ አራሚ ወይም ሌሎች መሳሪያዎችን አያካትትም። በጃቫ ውስጥ ፕሮግራሞችን ማዘጋጀት ከፈለጉ JDK (Java Development Kit) ሊኖርዎት ይገባል ይህም JREንም ያካትታል።
በJVM እና JRE መካከል ያለው ልዩነት ምንድን ነው?
ምንም እንኳን በዕለት ተዕለት አጠቃቀም፣ JVM እና JRE የሚሉት ቃላት በተለዋዋጭነት ጥቅም ላይ እየዋሉ ቢሆንም ልዩነታቸው አላቸው። JVM በስርዓተ ክወናው ላይ የሚሰራ ምናባዊ ማሽን ሲሆን JRE ደግሞ የሩጫ ጊዜ ማስፈጸሚያ አካባቢ ነው። JVM የJRE አካል ነው። የJVM ዝርዝር መግለጫ በመድረክ-ተኮር JRE ትግበራ እና በመደበኛ የጃቫ ቤተ-መጻሕፍት መካከል ያለው ግንኙነት ሆኖ ይሠራል።ስለዚህ፣ JVM ከውስጥ አተገባበር ዝርዝሮችን ለፕሮግራም አድራጊው የሚያቀርበው አካል ነው። እና የተጠናቀረውን ባይት ኮድ የመተርጎም ሃላፊነት አለበት። ሆኖም፣ JVM የጃቫ ባይት ኮድን ለማስፈጸም መሰረታዊ ቤተ-መጻሕፍትን እና ሌሎች ደጋፊ ፋይሎችን ይፈልጋል። ነገር ግን አንዳንድ ጊዜ፣ JRE በቀላሉ እንደ JVM ትግበራ ይታወቃል።