ജാവ വെർച്വൽ മെഷീൻ

thump|150px|frame|right|ജാവാ റൺടൈം എൻവയോണ്മെന്റ്
കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകളും സ്ക്രിപ്റ്റുകളും പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന വിർച്ച്വൽ മെഷീൻ വിഭാഗത്തിൽ പെടുന്ന ഒരു സോഫ്റ്റ്‌വെയറാണ് ജാവാ വിർച്ച്വൽ മെഷീൻ അഥവാ ജെ.വി.എം (Java Virtual Machine - JVM). ജാവ ബൈറ്റ് കോഡ് എന്ന് വിളിക്കുന്ന ഒരു ഇടനില ഭാഷ മാത്രമേ ജെ.വി.എമ്മിനു മനസ്സിലാകൂ, അതിനാൽ കമ്പൈൽ ചെയ്ത് ബൈറ്റ് കോഡിലേക്ക് മാറ്റിയ പ്രോഗ്രാമുകൾ മാത്രമേ ജാവ വിർച്ച്വൽ മെഷീനിൽ പ്രവർത്തിപ്പിക്കാനാകൂ.

മിക്ക പ്രോഗ്രാമിങ് ഭാഷകളും  കമ്പൈൽ ചെയ്യുമ്പോൾ മൈക്രോപ്രോസസറുകൾക്ക്  പ്രവർത്തിപ്പിക്കാൻ സാധിക്കുന്ന മെഷീൻ കോഡായി മാറും. പക്ഷെ ജാവയുടെ കാര്യം അങ്ങനെയല്ല, ഒരു ജാവാ പ്രോഗ്രാം കമ്പൈൽ ചെയ്യുമ്പോൾ ബൈറ്റ് കോഡ് എന്ന ഒരു പ്രത്യേക തരം മെഷീൻ കോഡാണ് ഉണ്ടാകുന്നത്. ഇത് ജാവാ വിർച്ച്വൽ മെഷീൻ ഉപയോഗിച്ചു മാത്രമേ പ്രവർത്തിപ്പിക്കാൻ സാധിക്കൂ. ".class" എന്ന ഫയൽ എക്സ്റ്റെൻഷനാണ് ജാവാ ബൈറ്റ് കോഡിന്, അതുകൊണ്ട് ഇവയെ ക്ലാസ് ഫയലുകൾ എന്ന് വിളിക്കാം. 

ജാവാ പ്ലാറ്റ്ഫോമിന്റെ ഒരു നിർണ്ണായക ഘടകമാണ് ജാവാ വിർച്ച്വൽ മെഷീൻ. നിരവധി ഹാർഡ്‌വെയർ / സോഫ്റ്റ്‌വെയർ പ്ലാറ്റ്ഫോമുകൾക്ക് വേണ്ടിയുള്ള ജെ.വി.എമ്മുകൾ നിലവിലുണ്ട്. അതിനാൽ ബൈറ്റ് കോഡ് ആയി കമ്പൈൽ ചെയ്തെടുത്ത ജാവാ ആപ്ലിക്കേഷൻ അല്ലെങ്കിൽ ജാവാ പ്രോഗ്രാം വിർച്ച്വൽ മെഷീനുള്ള എത് ഹാർഡ്‌വെയർ / സോഫ്റ്റ്‌വെയർ പ്ലാറ്റ്ഫോമിലും പ്രവർത്തിക്കും. ഉദാഹരണത്തിന്  മൈക്രോസോഫ്റ്റ് വിൻഡോസ് ഉപയോഗിച്ച് സൃഷ്ടിച്ച ബൈറ്റ് കോഡ്, ലിനക്സിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന ജെ.വി.എമ്മിലും പ്രവർത്തിക്കും.

ജാവാ വെർച്ച്വൽ മെഷീൻ, ആവശ്യമായ ലൈബ്രറി ക്ലാസുകൾ, എ.പി.ഐ അഥവാ ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിങ് ഇന്റർഫേസുകൾ (API - Application Programming Interface) എന്നിവ കൂടുന്നതാണ്  ജാവാ റൺടൈം എൻവയോണ്മെന്റ് അഥവാ ജെ.ആർ.ഇ  (Java Runtime Environment - JRE).  കമ്പൈലർ, ഡീബഗ്ഗർ എന്നിവയൊന്നും ജെ.ആർ.ഈയിൽ ഉണ്ടാവില്ല. 

വർഗ്ഗം:വിർച്ച്വൽ മെഷീനുകൾ