“ജാവ സിംപിളാണ്, ബട്ട് പവർഫുൾ..” ശരിക്കും എന്താണ് ഈ ‘ജാവ’?

“ജാവ സിംപിളാണ്, ബട്ട് പവർഫുൾ..” പ്രേമം സിനിമയിലെ വിമൽ സാറിന്റെ പ്രശസ്തമായ ഈ ഡയലോഗ് കേൾക്കാത്തവർ അധികമാരും ഉണ്ടാകില്ല. ശരിക്കും എന്താണ് ജാവ എന്ന് ആരെങ്കിലും ചിന്തിച്ചിട്ടുണ്ടോ? കമ്പ്യൂട്ടറുകളിലും മറ്റും ഉപയോഗിക്കുന്ന വിവിധോദ്ദേശ്യ പ്രോഗ്രാമിങ് ഭാഷയാണ്‌ ജാവ.

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

കമ്പ്യൂട്ടറുകളിൽ തന്നെ സെർവറുകളിലും ക്ലൈന്റുകളിലും പ്രത്യേകം പ്രത്യേകം പ്രവർത്തിക്കാൻ പ്രാപ്തമായ പ്രോഗ്രാമുകൾ സൃഷ്ടിക്കാൻ ജാവ ഉപയോഗപ്പെടുത്താം. ഇതിനുപുറമേ സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാനും ജാവ ഉപയോഗിക്കുന്നു. ഓരോ ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനുമായി വെവ്വേറെ സോഫ്റ്റ്‍വെയറുകൾ നിർമ്മിക്കുക എന്ന മറ്റു പല പ്രോഗ്രാമിങ് ഭാഷകൾക്കും ഉള്ള പരിമിതി ജാവക്കില്ല. പ്ലാറ്റ്ഫോം സ്വാതന്ത്ര്യം (Platform Independence) എന്ന ഈ ഗുണം ജാവ സാധ്യമാക്കുന്നത് ജാവ വിർച്ച്വൽ മെഷീൻ അഥവാ ജെ.വി.എം (JVM-Java Virtual Machine) എന്ന സാങ്കേതികത ഉപയോഗിച്ചാണ്. ജെ.വി.എം. എല്ലാ ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനും വ്യത്യസ്തമാണ്.

ജാവയിൽ സോഫ്റ്റ്‍വെയറുകൾ സൃഷ്ടിക്കാൻ, സൺ മൈക്രോസിസ്റ്റംസ് ജാവ ഡവലപ്മെന്റ് കിറ്റ് അഥവാ ജെ. ഡി. കെ (Java Development Kit – JDK) എന്നൊരു വികസനോപാധിയും സൃഷ്ടിച്ചിട്ടുണ്ട്. പ്രോഗ്രാമിങ് താരതമ്യേന എളുപ്പമാക്കാൻ എക്ലിപ്സ്, നെറ്റ്ബീൻസ്, ബോർലാൻഡ് ജെബിൽഡർ തുടങ്ങിയ ഇന്റഗ്രേറ്റ്ഡ് ഡവലപ്മെന്റ് എൻവിയോണ്മെന്റുകളും(ഐ.ഡി.ഇ) ഇന്ന് ലഭ്യമാണ്. ഇന്ന് ജാവയുടെ പതിപ്പ് 7 (ജാവ 7) ഉം, ജെ.ഡി.കെ പതിപ്പ് 7u10 ഉം ആണ്[5]. ജാവയുടെ പ്രധാന പതിപ്പുകളിൽ എട്ടാമത്തേതാണിത്. 2005 ആയപ്പോഴേക്കും, 250 കോടിയോളം ഉപകരണങ്ങളിൽ ജാവ ഉപയോഗിക്കപ്പെടുകയും, 45 ലക്ഷം ആളുകൾ ജാവ പഠിക്കുകയും ചെയ്തിട്ടുണ്ട്.

ഏറക്കുറേ സി, സി++ എന്നീ പ്രോഗ്രാമിങ് ഭാഷകളുടെ വാക്യഘടന (syntax) തന്നെയാണ് ജാവയിലും ഉപയോഗിക്കുന്നത്. മൈക്രോസോഫ്റ്റിന്റെ സി# (സി ഷാർപ്പ്, മുമ്പ് ജെ++) പോലുള്ള ഭാഷകളിൽ ജാവയുടെ സ്വാധീനം ഏറെയുണ്ട്. സി ഷാർപ്പിൽ നിന്നും ജാവയും ചില പ്രത്യേകതകൾ കടംകൊണ്ടിട്ടുണ്ട്. പേരിലും, ലേഖനരീതിയിലും സാമ്യങ്ങളുണ്ടെങ്കിലും ജാവാസ്ക്രിപ്റ്റ് എന്ന സ്ക്രിപ്റ്റിങ്ങ് ഭാഷയ്ക്ക് ജാവയുമായി ബന്ധമൊന്നുമില്ല.

1990 കളുടെ ആദ്യപാദത്തിൽ സൺ മൈക്രോസിസ്റ്റംസ്‌ വികസിപ്പിച്ച ജാവ കമ്മ്യൂണിറ്റി പ്രോസസിന്റെ നിർദ്ദേശങ്ങൾക്കനുസൃതമായി ജാവ കംപൈലർ, ജാവ വിർച്ച്വൽ മെഷീൻ എന്നിവയ്ക്ക് സൺ മൈക്രോസിസ്റ്റംസ് ഗ്നൂ സാർവ്വജനിക അനുവാദപത്രം നൽകിയിട്ടുണ്ട്.

ചരിത്രം : സി പ്രോഗ്രാമിങ് ഭാഷയിൽ നിന്നും 1980-ൽ @Quách Tĩnh അവതരിപ്പിച്ച സി++-ഉം അതിനോടൊപ്പം രൂപം കൊണ്ട വസ്തുതാധിഷ്ഠിത പ്രോഗ്രാമിങ് രീതിയും 1990 ആയപ്പോഴേക്കും വൻതോതിൽ ജനകീയമായി. പ്രോഗ്രാം പ്രവർത്തിക്കാനാവശ്യമായ മെമ്മറി പ്രത്യേകം കുറിച്ചുകൊടുക്കണം എന്നുള്ളതുകൊണ്ടും, അതു കൊണ്ടു തന്നെ ഹാർഡ്‌വെയറിനനുസൃതമായി പ്രോഗ്രാം പുതുക്കേണ്ടി വരുമെന്നതും പിൽക്കാലത്ത് സി++നു തിരിച്ചടിയായി. മെമ്മറിയുടെ കൈകാര്യം പ്രോഗ്രാമറുടെ കൈയ്യിലായിരുന്നതിനാൽ വിനാശബുദ്ധികൾക്ക് ദോഷകരങ്ങളായ പ്രോഗ്രാമുകൾ എഴുതാൻ സി, സി++ ഭാഷകളിൽ എളുപ്പമായിരുന്നു.

1990-ൽ പരസ്പര സംവേദനക്ഷമമായ ഒരു ടിവി പരിപാടി നിർമ്മിക്കാനുള്ള പദ്ധതിക്കിടയിൽ ജെയിംസ് ഗോസ്‌ലിങ്ങ് എന്ന സോഫ്റ്റ്‌വേർ വിദഗ്ദ്ധൻ സി++ ചില പ്രത്യേകതകളിൽ സംതൃപ്തനാകാതെ പദ്ധതിക്കനുസരിച്ച ഒരു പ്രോഗ്രാമിങ് ഭാഷ നിർമ്മിക്കാനുള്ള ശ്രമം തുടങ്ങിയതുമുതലാണ്‌ ജാവയുടെ ചരിത്രം തുടങ്ങുന്നത്. ടെലിവിഷൻ സംവേദനക്ഷമമാക്കാനുള്ള “സെറ്റ് റ്റോപ്” ബോക്സ് പോലുള്ള, ഇലക്ട്രോണിക് ഉപകരണങ്ങൾക്കായിട്ടാണ് “ഗ്രീൻ” (Green) എന്ന കോഡുനാമത്തിൽ അന്നറിയപ്പെട്ട ഈ ഭാഷ നിർമ്മിക്കാനാരംഭിച്ചത്. സി യിൽ നിന്നും സി++ ഉണ്ടാക്കിയതുപോലെ സി++ ൽ അനുബന്ധങ്ങൾ ചേർത്ത് പുതിയൊരു ഭാഷയും, ഏതൊരു ഹാർഡ്‌വെയറുമായി ആശയവിനിമയം നടത്താൻ കഴിവുള്ള ഒരു ഇടനിലപ്രോഗ്രാമും നിർമ്മിക്കാനായിരുന്നു ആദ്യശ്രമമെങ്കിലും അത് വളരെ പെട്ടെന്നു തന്നെ തികച്ചും പുതിയൊരു ഭാഷയെന്ന ലക്ഷ്യത്തിലെത്തിച്ചേർന്നു.

1991 ൽ ‘ ഓക് ’ എന്ന പേരിലാണ് ഗോസ്ലിങ് പുതിയ പ്രോഗ്രാമിങ് ഭാഷയ്ക്കുള്ള ശ്രമം തുടങ്ങിയത്. സി, സി++ പ്രോഗ്രാമിംഗ് ഭാഷകളോട് സാമ്യമുള്ള ഒരു പ്രോഗ്രാമിംഗ് ഭാഷ സൃഷ്ടിക്കുകയും, ആ ഭാഷയിലെഴുതുന്ന പ്രോഗ്രാമുകൾ എല്ലാത്തരം കമ്പ്യൂട്ടറുകളിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളിലും എന്നതിനുപരിയായി ഏത് ഇലക്ട്രോണിക് ഉപകരണത്തിലും പ്രവർത്തിപ്പിക്കുവാൻ സഹായിക്കുന്ന ഒരു വിർച്ച്വൽ മെഷീൻ നിർമ്മിക്കുകയുമായിരുന്നു അദ്ദേഹത്തിന്റെ ലക്ഷ്യം. ബിൽ ജോയ്, ആർതർ വാൻ ഹോഫ്, ജോനാതൻ പെയ്ൻ, ഫ്രാങ്ക് യെല്ലിൻ, റ്റിം ലിൻഡോം തുടങ്ങിയവർ മറ്റു പ്രധാന സഹസ്രഷ്ടാക്കളാണ്.

18 മാസം കൊണ്ട് ഇതിന്റെ ആദ്യരൂപം 1992-ൽ പുറത്തിറങ്ങി. ജാവ ആദ്യം എംബഡഡ് സിസ്റ്റങ്ങളേയും കമ്പ്യൂട്ടറുകളേയും ആയിരുന്നു ലക്ഷ്യം വച്ചിരുന്നത്. എംബഡഡ് സിസ്റ്റങ്ങൾ ഒന്നിനൊന്നു വ്യത്യസ്തങ്ങളായിരുന്നതിനാൽ ഒരേ പ്രോഗ്രാമിന്റെ വിതരണം എപ്പോഴും പ്രശ്നങ്ങളെ നേരിട്ടു, അതേ പ്രോഗ്രാം തന്നെ കമ്പ്യൂട്ടറിൽ ഉപയോഗിക്കുക എന്നത് പലപ്പോഴും അസാധ്യമായിത്തീർന്നു. അപ്പോഴേക്കും ഇന്റർനെറ്റിന് ഒരു പൂർണ്ണത കൈവന്നിരുന്നു. അതോടെ സ്രഷ്ടാക്കളുടെ ശ്രദ്ധ പുതിയമേഖലയിലേക്കു തിരിഞ്ഞു. പുതിയ ലക്ഷ്യം ജാവയുടെ വളർച്ചയിൽ നിർണ്ണായകമായി. രൂപകല്പനയിലെ നിഷ്പക്ഷത(Architectural neutral) എന്ന ഗുണം ഏവരുടേയും ശ്രദ്ധ ആദ്യം തന്നെ ജാവയിലേക്കു തിരിയാൻ കാരണമായിരുന്നുവെന്നാലും ആത്യന്തികമായി ഇന്റർനെറ്റാണ് ജാവയുടെ വൻ‌വിജയത്തിന് കാരണമായത്.

സണ്ണിന്റെ സംവേദനക്ഷമമായ ടി.വി. എന്ന പദ്ധതി വിജയിച്ചില്ലെങ്കിലും പുതിയൊരു കഴിവുറ്റ ഭാഷയുടെ ഉദയത്തിനതു കാരണമായി. ‘ഓക്’ 1995-മെയ് മാസത്തിൽ ജാവ എന്ന പുതിയ പേരിൽ താരതമ്യേന പൂർണ്ണരൂപത്തിൽ പുറത്തിറങ്ങി. “ ഒരിക്കലെഴുതൂ എവിടെയും പ്രവർത്തിപ്പിക്കൂ ” ( Write Once, Run Anywhere -WORA) എന്ന ആപ്തവാക്യവുമായാണ് ജാവ വന്നത്. ജാവയുടെ ആദ്യപതിപ്പ് കേവലമൊരു ഫ്ലോപ്പി ഡിസ്കിൽ ഉൾക്കൊള്ളിക്കാമായിരുന്നു. കാതലായ ഭാഗം കേവലം നൂറ് കെ.ബി. ആണുണ്ടായിരുന്നത്. ഗണിത പ്രശ്നങ്ങൾ കൈകാര്യം ചെയ്യാനുള്ള ഭാഗമായ മാത് ലൈബ്രറി (math library) 20 കെ.ബി. മാത്രമാണുണ്ടായിരുന്നത്. മിക്ക ക്ലാസ് ലൈബ്രറികളും കൂടെ 375 കെ.ബി. മാത്രമായിരുന്നു ഉണ്ടായിരുന്നത്. ചിത്രീകരണങ്ങൾക്കായി വ്യത്യസ്ത പ്ലാറ്റ്ഫോമുകൾക്കായുണ്ടായിരുന്ന ഭാഗങ്ങളും കൂടി ചേർത്താൽ ഒരു എം.ബി. അടുത്തായിരുന്നു ജാവയുടെ വലിപ്പം.

പ്രത്യേകതകൾ : ബൈറ്റ്കോഡ് – സി, സി++ തുടങ്ങിയ ഭാഷകളെല്ലാം കം‌പൈൽ ചെയ്യുമ്പോൾ പ്രവർത്തനക്ഷമമായ (executable) കോഡാണ് ലഭിക്കുന്നത്. എന്നാൽ ജാവ ഒരു ബൈറ്റ്കോഡ് ആണ് സൃഷ്ടിക്കുന്നത്. ക്ലാസ് (ഉദാ: Hello.class) എന്നായിരിക്കും ഈ ബൈറ്റ്കോഡ് ഫയലിന്റെ എക്സ്റ്റെൻഷൻ. ഈ ബൈറ്റ്കോഡ് പ്രവർത്തിപ്പിക്കണമെങ്കിൽ ഒരു വിർച്ച്വൽ മെഷീൻ അത്യന്താപേക്ഷമാണ്. ജെ.വി.എം-നു മനസ്സിലാകത്തക്കവിധം അങ്ങെയറ്റം കൃത്യമാക്കി സൃഷ്ടിക്കുന്ന നിർദ്ദേശങ്ങളുടെ ഗണമാണ് ബൈറ്റ്കോഡ്. പ്രോഗ്രാമിനെ പ്രവർത്തിപ്പിക്കുന്ന ബാദ്ധ്യത ബൈറ്റ്കോഡിനില്ല, പ്രവർത്തിപ്പിക്കുകയെന്നത് ജാവ വിർച്ച്വൽ മെഷീന്റെ ഉത്തരവാദിത്തമാണ്. അതുകൊണ്ട് തന്നെ ബൈറ്റ്കോഡ് വളരെ ചെറുതും നെറ്റുവർക്കുകളിലൂടെ എളുപ്പം കൈമാറ്റം ചെയ്യാനാവുന്നതുമായിരിക്കും.

ജാവ സാങ്കേതിക വിദ്യയിൽ ജാവ പ്രോഗ്രാമിങ് ഭാഷ ഇഴുകിച്ചേർന്നിട്ടുള്ളതാണ്. എന്നിരുന്നാലും മറ്റുഭാഷകൾ കമ്പൈൽ ചെയ്യുമ്പോൾ ജാവ ബൈറ്റ്കോഡ് സൃഷ്ടിക്കാനും അവ ജാവ വിർച്ച്വൽ മെഷീനുപയോഗിച്ചു പ്രവർത്തിപ്പിക്കാനുമുള്ള ശ്രമങ്ങൾ നടന്നിട്ടുണ്ട്. അവയൊന്നും വേണ്ടത്ര പിന്തുണ നേടിയില്ല. പൈത്തൺ ഭാഷ ഉപയോഗിച്ച് ജാവ ബൈറ്റ്കോഡ് സൃഷ്ടിക്കാനുള്ള ശ്രമമായ “ജൈത്തൺ”ആണ്‌ അക്കൂട്ടത്തിൽ കുറച്ചെങ്കിലും ശ്രദ്ധ നേടിയത്.

വിർച്ച്വൽ മെഷീൻ : ജാവയിൽ എഴുതിയ പ്രോഗ്രാമിനെ കമ്പ്യൂട്ടറുമായി ബന്ധപ്പെടുത്തുന്ന ഇടനില സോഫ്റ്റ്‌വെയറാണ് ജാവ വിർച്ച്വൽ മെഷീൻ. ഒരു പ്രോഗ്രാമിനെ പ്രവർത്തിപ്പിക്കുവാൻ പറ്റിയ അന്തരീക്ഷം സൃഷ്ടിക്കുക എന്നതാണ് വിർച്ച്വൽ മെഷീന്റെ കടമ, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവുമായി സംവദിച്ച് യന്ത്രഭാഗങ്ങളെ അഥവാ കമ്പ്യൂട്ടർ ഹാർഡ്‌വെയറിനെ, പ്രവർത്തിച്ചു കൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമിന്റെ ആവശ്യാനുസരണം ലഭ്യമാക്കുക, ഒരു കവചം പോലെ നിലനിന്നു കൊണ്ട് പ്രോഗ്രാം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ അനാവശ്യ ഇടപെടലുകൾ നടത്താതെ നോക്കുക എന്നിങ്ങനെയുള്ള കാര്യങ്ങളാണ് വിർച്ച്വൽ മെഷീൻ ചെയ്യുന്നത്.

വിർച്ച്വൽ മെഷീൻ അധിഷ്ഠിതമായ പ്രോഗ്രാമിങ്ങ് ഭാഷകൾ സൃഷ്ടിക്കുന്നതിന്റെ ഉദ്ദേശ്യം ഏതു തരം ഹാർഡ്‌വെയറിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലും പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകൾ എഴുതുക എന്നുള്ളതാണ്. ഇത്തരം പ്രോഗ്രാമുകൾ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെയോ, ഹാർഡ്‌വെയറിനെയോ കാണുന്നില്ല കാരണം ഇവ വിർച്ച്വൽ മെഷീനുമായി മാത്രമേ ബന്ധപ്പെടുന്നുള്ളൂ. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവും ഹാർഡ്‌വെയറും മാറുന്നതിനനുസരിച്ച് പ്രോഗ്രാമുകൾ അപ്പോൾ മാറ്റിയെഴുതേണ്ടി വരില്ല, പകരം എല്ലാ സാഹചര്യങ്ങൾക്കും വേണ്ടിയുള്ള വിർച്ച്വൽ മെഷീനുകൾ ആദ്യം വികസിപ്പിക്കുകയാണ് ചെയ്യുന്നത്. ബൈറ്റ്കോഡ് ഇക്കാരണം കൊണ്ട് വഹനീയം (portable) ആണെന്നു പറയുന്നു. മെമ്മറിയിൽ പ്രോഗ്രാമർ നടത്തുന്ന അനാവശ്യ കൈകടത്തലുകളെ ജാവ വിർച്ച്വൽ മെഷീൻ അനുവദിക്കുന്നില്ല. അതുകൊണ്ട് ജാവയിൽ വൈറസുകൾ എഴുതുക തീരെ എളുപ്പമല്ല.

ഓപ്പറേറ്റിങ് സിസ്റ്റത്തെ അമിതമായി സ്വാധീനിക്കാൻ വിർച്ച്വൽ മെഷീൻ അനുവദിക്കാത്തതിനാൽ ജാവ ഏറെ സുരക്ഷിതമായ പ്രോഗ്രാമിങ് ഭാഷയാണ്. പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാനായി ‘ജാവ വിർച്ച്വൽ മെഷീൻ’ പ്രോഗ്രാമിനെ പ്രവർത്തനക്ഷമമായി കമ്പൈൽ ചെയ്യുകയും പ്രവർത്തിപ്പിക്കുകയുമാണ് ചെയ്യുന്നത്. ഇത് പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത് മെല്ലെയാക്കുമെങ്കിലും ജാവയിൽ ഈ വൈകൽ തുലോം നിസ്സാരമാണ്. ഒരു പ്രോഗ്രാം പ്രവർത്തിക്കുമ്പോൾ വേണ്ട പലതരത്തിലുള്ള പരിശോധനകൾ നടത്തുക, പ്രവർത്തിക്കാനുള്ള സ്ഥലം അനുവദിച്ചുകൊടുക്കുക തുടങ്ങി ഒട്ടനവധി കാര്യങ്ങൾ ചെയ്യണം‍, അതിന്റെ കൂടെ ബൈറ്റ്കോഡ് കമ്പൈൽ ചെയ്യുകയും പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുകയും ചെയ്യേണ്ടതുണ്ട്. ഒരു വലിയ പ്രോഗ്രാമിൽ ഇതെല്ലാം ഒരുമിച്ചു ചെയ്യുക എന്നത് ഏറെ സമയമെടുക്കുന്ന ഒന്നാ‍ണ്. അതുകൊണ്ട് സൺ ജെ.വി.എമ്മിൽ ബൈറ്റ്കോഡിനായി ജസ്റ്റ് ഇൻ റ്റൈം കമ്പൈലർ (Just In Time Compiler – JIT) എന്നൊരു കമ്പൈലർ ചേർത്തിരിക്കുന്നു.

ഒരു പ്രോഗ്രാം പ്രവർത്തിക്കുമ്പോൾ പ്രോഗ്രാമിന്റെ ഭാഗങ്ങളെ ആവശ്യമുള്ളപ്പോൾ മാത്രം കമ്പൈൽ ചെയ്തു പ്രവർത്തിപ്പിക്കുന്നതിനാണ് ജെ.ഐ.റ്റി. ഉപയോഗിക്കുന്നത്. ഇത് ഉപയോക്താക്കൾക്ക് യാതൊരുവിധ താമസവും അനുഭവപ്പെടാതെ തന്നെ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നതിനു സഹായിക്കുന്നു. ജാവ 2-ലാണ് ജെ.ഐ.റ്റി. രംഗപ്രവേശം ചെയ്തത്. ജാവ റൺറ്റൈം എൻ‌വിയറന്മെന്റ് അഥവാ ജെ.ആർ.ഇ. എന്നും ജാവ സോഫ്റ്റ്‌വേർ എന്നും അറിയപ്പെടുന്ന സോഫ്റ്റ്‍വെയറിലാണ് വിർച്ച്വൽ മെഷീനുള്ളത്. ജെ.ആർ.ഇ. ആർക്കും സണ്ണിന്റെ സൈറ്റിൽ നിന്നും ശേഖരിക്കാനും പുനർവിതരണം ചെയ്യാനും കഴിയും.

ജാവയുടെ അതേ സിന്റാക്സ് ഉപയോഗിക്കുന്ന ജി.സി.ജെ. (GCJ – Gnu Compiler for Java) കമ്പൈലറിന്‌ ജാവ പ്രോഗ്രാമുകളെ ഒബ്ജക്റ്റ് കോഡ് അഥവാ കമ്പ്യൂട്ടറുമായി സംവദിക്കാൻ പ്രാപ്തമായ കോഡായും ബൈറ്റ്കോഡ് ആയും കം‌പൈൽ ചെയ്യാൻ കഴിയും. ജി.സി.ജെ ഉപയോഗിച്ച് ഒബ്ജക്റ്റ്കോഡ് ആണ്‌ സൃഷ്ടിക്കുന്നതെങ്കിൽ വിർച്ച്വൽ മെഷീന്റെ ആവശ്യമില്ല. പക്ഷേ ഇങ്ങനെ ചെയ്യുമ്പോൾ ജാവപ്രോഗ്രാമുകളുടെ വഹനീയത(portability) എന്ന ഗുണം നഷ്ടപ്പെടുന്നു.

പ്രോഗ്രാമിങ് : ക്ലൈന്റ് കമ്പ്യൂട്ടറുകളിൽ ബ്രൗസറുകളിൽ പ്രവർത്തിക്കുന്ന ജാവ പ്രോഗ്രാമിനെ ആപ്‌ലറ്റ് എന്നു വിളിക്കുന്നു. സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകളെ ആപ്ലിക്കേഷൻ എന്ന് വിളിക്കുന്നു. റ്റി.സി.പി/ഐ.പി. അനുസരിച്ച് ആപ്‌ലറ്റുകളും, ആപ്ലിക്കേഷനുകളും എല്ലാം സമഞ്ജസമായി ഒരുമിപ്പിച്ച് ഒരു നെറ്റ്വർക്കിൽ പടർന്നു കിടക്കുന്ന പ്രോഗ്രാമെഴുതാനും ജാവ ഉപയോഗിക്കുന്നു. പ്രോഗ്രാമിങ് ഭാഷയുടെ ആവശ്യമുള്ള ഭാഗങ്ങൾ മാത്രമേ ഒരു പ്രത്യേക പ്രോഗ്രാമിലുണ്ടാകൂ. ഇത് പ്രോഗ്രാം വളരെ ചെറുതായിരിക്കാൻ സഹായിക്കുന്നു.

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

ജാവയുടെ നിർമ്മാണത്തിൽ സൃഷ്ടിച്ചിട്ടുള്ള പ്രത്യേകതകൾകൊണ്ട് ആർക്കും അനുബന്ധങ്ങൾ അഥവാ മറ്റ് എ.പി.ഐ.കൾ ഉണ്ടാക്കാനും അവയുടെ സഹായത്തോടെ പ്രോഗ്രാമിങ് കൂടുതൽ എളുപ്പമാക്കാനും കഴിയും. ജാവമെയിൽ (ഇ-മെയിലുകളുടെ കൈകാര്യത്തിനായുള്ള എ.പി.ഐ.), സ്റ്റ്രറ്റ്സ്, ജെ.എസ്.എഫ്. (രണ്ടും വെബ് പ്രോഗ്രാമിങ്ങിനായുള്ള ഫ്രെയിം‌വർക്കുകൾ ) തുടങ്ങിയവ ഇത്തരത്തിലുള്ള അനുബന്ധങ്ങൾക്കുദാഹരണമാണ്. ജാവാമെയിൽ, ജാവ 3ഡി, ജാവ സെർവ്‌ലറ്റ്സ്, ജാവ മീഡിയ, ജാവ ക്രിപ്റ്റോഗ്രാഫി എന്നിങ്ങനെ ഒരു പിടി അനുബന്ധങ്ങൾ ഔദ്യോഗികമായി ലഭ്യമാണ്.

ഉപയോഗത്തിനനുസരിച്ച് വ്യത്യസ്ത ക്രമീകരണങ്ങൾ അനുവദിക്കുന്ന സോഫ്റ്റ്‍വെയറുകൾ ഔദ്യോഗികമായി തന്നെ സൺ നിർമ്മിച്ചിട്ടുണ്ട്. എന്റർപ്രൈസ് ആപ്ലിക്കേഷനുകൾക്കായി ജാവ ഇ.ഇ.(Java EE – Java Enterprise Edition), മൊബൈൽ ആപ്ലിക്കേഷനുകൾക്കായി ജാവ എം.ഇ. (Java ME-Java Mobile Edition) എന്നിങ്ങനെ; മാനക പതിപ്പിനെ ജാവ എസ്.ഇ. (Java SE-Java Standard Edition) എന്നുവിളിക്കുന്നു. ജാവ എസ്.ഇ., ജെ.ഡി.കെ. ആയി ലഭ്യമാകുന്നു. ജെ.ഡി.കെ.യിൽ ജാവ കമ്പൈലർ, ഡീബഗ്ഗർ, ജാവാഡോക്, ജാർ ഫയൽ നിർമ്മാണത്തിനുള്ള സോഫ്റ്റ്‌വേർ തുടങ്ങി 23 ഉപകരണങ്ങൾ ഉൾക്കൊള്ളിച്ചിരിക്കുന്നു

എഴുത്തു രീതി : ജാവയുടെ എഴുത്തു രീതി സി പ്ലസ് പ്ലസ്സിൽ നിന്നും രൂപപ്പെടുത്തിയിട്ടുള്ളതാണ്‌. എങ്കിലും, സി പ്ലസ് പ്ലസിൽ നിന്നും വ്യത്യസ്തമായി, ജാവ, വസ്തുതാ അധിഷ്ഠിത പ്രോഗ്രാമുകൾക്കു (Object Oriented Programs) മാത്രമായാണ്‌ രൂപപ്പെടുത്തിയിരിക്കുന്നത്.

ജാവ പ്ലാറ്റ്ഫോമുകൾ : ജാവയിൽ പ്രോഗ്രാമുകൾ നിർമ്മിക്കാനായും അവ സുസജ്ജമായ രീതിയിൽ വിവിധ ഉപകരണങ്ങളിൽ വിന്യസിക്കാനും ഒരു പ്രോഗ്രാമർക്ക് തിരഞ്ഞെടുക്കാൻ പാകത്തിൽ സൺ മൂന്നു മണ്ഡലങ്ങൾ അഥവാ പ്ലാറ്റ്ഫോമുകൾ ഔദ്യോഗികമായി സജ്ജീകരിച്ചിട്ടുണ്ട്. ജാവ എസ്.ഇ, ജാവ ഇ.ഇ, ജാവ എം.ഇ. എന്നിവയാണവ. ജാവ 2, 1.4 -നു ശേഷം കമ്യൂണിറ്റി പ്രോസസ് വിളിക്കപ്പെടുന്ന പ്രവർത്തനത്തിലൂടെയാണ് പ്ലാറ്റ്ഫോമുകൾ പുറത്തിറങ്ങുന്നത്.

ജാവ എസ്.ഇ. : പൊതു ഉപയോഗത്തിനുള്ള സോഫ്റ്റ്‍വെയറുകൾ നിർമ്മിക്കാൻ സാധാരണ ഉപയോഗിക്കുന്ന പ്ലാറ്റ്ഫോമാണ് ജാവ എസ്.ഇ. (Java SE – Java Platform, Standard Edition). ജാവ എസ്.ഇ.യിൽ ജെ.വി.എം., പ്രോഗ്രാമിങ്ങിനായുള്ള ശേഖരം (ലൈബ്രറി അഥവാ പാക്കേജ്) തുടങ്ങിയവ ഉൾക്കൊള്ളുന്നു. ജാവയുടെ മാനകപതിപ്പാണ് ജാവ എസ്.ഇ. . ജാവയുടെ പുതിയ വേർഷൻ നിശ്ചയിക്കപ്പെടുന്നത് ജാവ എസ്.ഇ. പുറത്തിറങ്ങുന്നതോടെയാണ്. ‘ജാവ 5‘ വരെ ഇത് ജെ2എസ്.ഇ (J2SE) എന്നാണ് ജാവ എസ്.ഇ. അറിയപ്പെട്ടിരുന്നത്.

ജാവ ഇ.ഇ. : ജാവ പ്രോഗ്രാമിങ് ഭാഷ ഉപയോഗിച്ചുള്ള സെർവർ സൈഡ് പ്രോഗ്രാമിങ്ങിനായി സൃഷ്ടിച്ചിട്ടുള്ള പ്ലാറ്റ്ഫോമാണ് ജാവ ഇ.ഇ. അഥവാ ജാവ എന്റർപ്രൈസ് എഡിഷൻ (Java EE – Java Platform, Enterprise Edition), വിവിധ കമ്പ്യൂട്ടറുകളിലേക്കായി വിന്യസിക്കാൻ പ്രാപ്തമായ രീതിയിൽ പ്രോഗ്രാമുകളെ ഒരുക്കാനുള്ള കഴിവ് ഈ മണ്ഡലത്തിൽ ഉൾക്കൊള്ളിച്ചിരിക്കുന്നു. ജാവ ഇ.ഇ.യെ അതിന്റെ മാനദണ്ഡങ്ങൾക്കനുസരിച്ചുമാത്രമേ ഉപയോഗിക്കാൻ കഴിയുകയുള്ളു. അതുകൊണ്ട് തന്നെ ജാവ കമ്മ്യൂണിറ്റി പ്രോസസ് നിർദ്ദേശിച്ചിട്ടുള്ള മാർഗ്ഗരേഖകൾ പ്രകാരം നിർമ്മിച്ച ജാവ ഇ.ഇ. ആപ്ലിക്കേഷൻ മാത്രമേ അതിനു യോജ്യമായി കണക്കാക്കാറുള്ളു. ജാവ എസ്.ഇ.യിലുള്ള എ.പി.ഐ.കൾക്കു പുറമേ സെർവ്‌ലറ്റ്, എന്റർപ്രൈസ് ജാവാബീൻ തുടങ്ങി ഒരു കൂട്ടം എ.പി.ഐകൾ ജാവ ഇ.ഇ.യിൽ കൂടുതലായി ഉണ്ട്. ജാവ 5-നു മുമ്പ് ജാവ ഇ.ഇ., ജെ2ഇ.ഇ (J2EE) എന്നറിയപ്പെട്ടു വന്നു.

ജാവ എം.ഇ. : പ്രവർത്തനശേഷികുറഞ്ഞ ഉപകരണങ്ങൾക്കായുള്ള ജാവയുടെ ഒരു ഉപഗണമാണ് ജാവ എം.ഇ. (Java ME – Java Platform, Micro Edition). മറ്റ് പ്ലാറ്റ്ഫോമുകളിൽ നിന്നും ജാവ എം.ഇ.യ്ക്കുള്ള പ്രധാനവ്യത്യാസം ജാവ എം.ഇ. പ്രോഗ്രാമുകൾ പ്രവർത്തിക്കാനാവശ്യമായ റൺ‌റ്റൈം എൻ‌വയേണ്മെന്റ് സൗജന്യമായി സൺ നൽകുന്നില്ല എന്നതാണ്. ഇന്ന് റഫ്രിജറേറ്റർ, അലക്കുയന്ത്രം, മൊബൈൽ ഫോൺ തുടങ്ങി ഒട്ടനവധി നിത്യോപയോഗ ഉപകരണങ്ങളിൽ ജാവ. എം.ഇ. ഉപയോഗിക്കുന്നു. ‘ജാവ 5’ പുറത്തിറങ്ങുന്നതിനുമുമ്പ് ജാവ എം.ഇ.യും ജെ2എം.ഇ.(J2ME) എന്നാണ് അറിയപ്പെട്ടിരുന്നത്.

ഗുണങ്ങൾ : ജാവയെ നിർവ്വചിച്ചവർ ജാവയുടെ ഗുണങ്ങൾ എന്തൊക്കെയാണെന്ന് വ്യക്തമായി പറഞ്ഞിട്ടുണ്ട്. ലളിതം : ഒരു നല്ലപ്രോഗ്രാമർക്ക് ജാവയിലെഴുതിയ പ്രോഗ്രാം എന്താണെന്ന് പെട്ടെന്നു മനസ്സിലാക്കാൻ കഴിയും. ജാവയിൽ പരിചയമില്ലെങ്കിൽ തന്നെയും സി, സി++ തുടങ്ങിയ പ്രോഗ്രാമിങ് ഭാഷകൾ ഏതെങ്കിലും വശമുള്ളയാളാണെങ്കിൽ ജാവയുടെ കോഡിങ് രീതി അപ്രാപ്യമായിരിക്കില്ല.

ഒബ്ജക്റ്റ് ഓറിയന്റഡ് : ജാവ പോഗ്രാമുകൾ പൂർണ്ണമായും ഒബ്ജക്റ്റ് ഓറിയന്റഡാണ്. ഇത് പ്രോഗ്രാമുകൾ ലളിതമാകാനും പുനരുപയോഗത്തിനു സഹായകരമാകാനും തെറ്റുകൾ കണ്ടെത്താനും സഹായിക്കുന്നു. എന്നാൽ സി++ൽ ഉണ്ടായിരുന്നതു പോലെ മൾട്ടിപ്പിൾ ഇൻ‌ഹെറിറ്റൻസ് ജാവയിൽ നേരിട്ട് അനുവദിക്കുന്നില്ല. അത് പ്രോഗ്രാം കൂടുതൽ സങ്കീർണ്ണമാകാതിരിക്കാൻ സഹായിക്കുന്നു.

ചിതറിക്കിടക്കുന്നത് (Distributed) : റ്റി.സി.പി./ഐ.പി. ഉപയോഗിച്ച് ഒരു നെറ്റ്‌വർക്കിനാവശ്യമുള്ള പ്രോഗ്രാമുകൾ എഴുതാൻ ജാവ ഉപയോഗിച്ചു കഴിയും. അതിനായുള്ള വിപുലമായ ശേഖരങ്ങൾ ജാവയിൽ ഇണക്കിച്ചേർത്തിരിക്കുന്നു. ജാവ ആപ്ലിക്കേഷനുകൾക്ക് യൂ.ആർ.എല്ലുകൾ ഉപയോഗിച്ച് ഫയൽ സിസ്റ്റങ്ങളെ സമീപിക്കാൻ കഴിയും.

അബദ്ധരഹിതം (Robust) : പ്രോഗ്രാമുകളിലെ തെറ്റുകുറ്റങ്ങൾ എപ്രകാരമെല്ലാം കുറയ്ക്കാമോ ആ വഴികളെല്ലാം ജാവയിൽ ചേർത്തിട്ടുണ്ട്. ഉണ്ടാകാനിടയുള്ള തെറ്റുകളെ മുമ്പേ തിരിച്ചറിയാനും അവയെ ഒഴിവാക്കാനുമുള്ള വഴികൾ ജാവയിലുണ്ട്. മെമ്മറിയുടെ കൈകാര്യം മുമ്പൊക്കെ പ്രോഗ്രാമറുടെ മുന്നിലെ കീറാമുട്ടികളായിരുന്നുവെങ്കിൽ ജാവ അതു സ്വയം കൈകാര്യം ചെയ്യുന്നതിനാൽ ഉപയോഗം ഏറെ ഏളുപ്പമാക്കുന്നു. ഉപയോഗിച്ചശേഷം പ്രയോജനരഹിതമാകുന്ന മെമ്മറിയെ പുനരുപയോഗിക്കാൻ ഓട്ടോമാറ്റിക് ഗാർബേജ് കളക്ഷൻ എന്ന വിദ്യ ജാവ ഉപയോഗിക്കുന്നു. കമ്പൈൽ ചെയ്യുമ്പോഴും പ്രവർത്തിപ്പിക്കുമ്പോഴും ജാവ കോഡിങ് പരിശോധിക്കുന്നുണ്ട്. ഇത് പ്രോഗ്രാമറുടെ കണ്ണിൽ പെടാതെ പോകുന്ന തെറ്റുകളെ തിരിച്ചറിയാൻ സഹായകമാകുന്നു. വ്യത്യസ്തമായ സാഹചര്യങ്ങളിൽ ഒരേ ജാവ പ്രോഗ്രാം എപ്രകാരമൊക്കെ പ്രവർത്തിക്കാനിടയുണ്ടെന്നു മുൻ‌കൂട്ടി പറയാൻ കഴിയും. പ്രവർത്തന സമയത്തുണ്ടാകാവുന്ന ഒഴിവാക്കേണ്ട പ്രശ്നങ്ങൾ അഥവാ എക്സെപ്ഷനുകൾ (Exceptions- ഉദാ:പൂജ്യം കൊണ്ട് ഹരിക്കുക) തികച്ചും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് രീതിയിൽ കൈകാര്യം ചെയ്യാൻ ഈ പ്രോഗ്രാമിങ് ഭാഷയിൽ കഴിയും.

സുരക്ഷിതം : വ്യത്യസ്ത വ്യവസ്ഥകളിൽനിന്നും നെറ്റ്വർക്കുകളിലും പ്രവർത്തിക്കാൻ പ്രാപ്തമായ പ്രോഗ്രാമുകളാണ് ജാവയിൽ എഴുതുന്നത്, അതുകൊണ്ട് ജാവ സുരക്ഷിതമായ ഒരു ഭാഷയായാണ് സൃഷ്ടിച്ചിരിക്കുന്നത്.

ആർക്കിറ്റെക്ചർ നിഷ്പക്ഷം: ജാവ കമ്പൈലർ ബൈറ്റ്കോഡിനെ സൃഷ്ടിക്കുകയും ആ ബൈറ്റ്കോഡിനെ ഒരു ജെ.വി.എം പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നതുകൊണ്ട് പ്രോസസറിന്റേയോ മറ്റേതെങ്കിലും ഹാഡ്‌വെയറിലോ ഉണ്ടാകുന്ന മാറ്റം ജാവ പ്രോഗ്രാമുകളെ തെല്ലും ബാധിക്കില്ല. മറ്റുഭാഷകളിൽ ഒരു പ്രത്യേക യന്ത്രത്തിനായി കമ്പൈൽ ചെയ്യുന്ന പ്രോഗ്രാം അതേ യന്ത്രത്തിന്റെ ഭാഗങ്ങൾ മാറിയാൽ പോലും പ്രവർത്തിക്കാതെ വരാം. എന്നാൽ ജാവയ്ക്കീ പ്രശ്നമില്ല. ജാവ വിർച്ച്വൽ മെഷീനുമായി മാത്രമേ ആശയവിനിമയം നടത്തുന്നുള്ളു എന്നതാണിതിനു കാരണം. ജാവ വിർച്ച്വൽ മെഷീനുള്ള ഏതൊരു കമ്പ്യൂട്ടറിലും യന്ത്രത്തിലും ഏതൊരു ജാവ പ്രോഗ്രാമും പ്രവർത്തിക്കും.

വഹനീയം (Portable) : ജാവ പ്രോഗ്രാമുകൾ ബൈറ്റ്കോഡായതിനാൽ ജെ.വി.എം. ഉള്ള ഏതൊരു ഉപകരണത്തിലേക്കും മാറ്റാനും അവിടെ വച്ച് പ്രവർത്തിപ്പിക്കാനും കഴിയും.

ഇടനിലവത്കരിക്കപ്പെട്ടത് (Interpreted) : ജാവ പ്രോഗ്രാമുകൾ കമ്പ്യൂട്ടർ ഹാഡ്‌വെയറിനേയോ ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനേ തന്നെയോ പ്രവർത്തിക്കാനായി കാണുന്നില്ല. ഇത് പ്രോഗ്രാമുകൾ സുരക്ഷിതവും, വഹനീയവും, ആർക്കിറ്റെക്ചർ നിഷ്പക്ഷവുമാക്കുന്നു.

അതിവേഗ പ്രവർത്തനം : സാധാരണഗതിയിൽ ഇടനിലവത്കരിക്കപ്പെട്ട പ്രോഗ്രാമുകൾ അത്രവേഗത്തിൽ പ്രവർത്തികാനിടയില്ല. എന്നാൽ ജാവ ജെ.ഐ.റ്റി. തുടങ്ങിയ വിദ്യകൾ ഉപയോഗിച്ച് മറ്റ് പ്രോഗ്രാമിങ് ഭാഷകളോട് കിടപിടിക്കത്തക്ക വേഗത്തിൽ പ്രോഗ്രാമുകളെ പ്രവർത്തിപ്പിക്കുന്നു.

മൾട്ടി ത്രെഡെഡ് : ഒരു പ്രോഗ്രാമർക്ക് പ്രോഗ്രാമിനെ വിവിധ ഭാഗങ്ങളായി തിരിക്കാനും ഈ ഭാഗങ്ങളെ ഒരേസമയം പ്രവർത്തിപ്പിക്കാനും അങ്ങനെ പ്രോഗ്രാമിന്റെ വേഗത വർദ്ധിപ്പിക്കാനും കഴിയും, പ്രോഗ്രാം ഭാഗങ്ങൾക്ക് ഫലപ്രദമായ രീതിയിൽ പ്രോസസ്സറിൽ പ്രവർത്തിക്കാനുള്ള സമയം പങ്ക് വെച്ചു നൽകിയാണിത് സാധ്യമാക്കുന്നത്. ജാവയുടെ ഈ ഗുണമാണ് മൾട്ടിത്രെഡിങ്.

കാലാനുസൃതം (Dynamic) : ഉദിച്ചുവന്നുകൊണ്ടിരിക്കുന്നതോ വന്നേക്കാവുന്നതോ ആയ ഏതൊരു സാങ്കേതികവിദ്യയേയും സ്വാംശീകരിക്കാൻ പ്രാപ്തമായ വിധത്തിലാണ് ജാവ സൃഷ്ടിച്ചിരിക്കുന്നത്. അതുകൊണ്ട് ജാവ കാലഹരണപ്പെട്ട് പോകാനിടയില്ല. ഉദാഹരണത്തിന് മുൻ പ്രോഗ്രാമിങ് ഭാഷകൾ ആസ്കി അക്ഷരങ്ങളെയായിരുന്നു ഉപയോഗിച്ചിരുന്നത്. അതുകൊണ്ട് അവയ്ക്ക് ലാറ്റിൻ അക്ഷരങ്ങൾക്കപ്പുറത്തേയ്ക്ക് പോകാൻ കഴിയില്ലായിരുന്നു. ജാവ യൂണീകോഡ് അംഗീകരിച്ചിട്ടുള്ള അക്ഷരങ്ങളെയെല്ലാം പിന്തുണയ്ക്കുന്നു. അതുകൊണ്ട് ഒരു ഉപയോക്താവിനാവശ്യമുള്ള ഭാഷയിൽ സോഫ്റ്റ്‌വെയർ നിർമ്മിച്ചു നൽകാൻ ജാവ ഉപയോഗിച്ചു കഴിയും.

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

ജാവയുടെ ഭാവി ഇപ്പോഴത്തെ ദൃഷ്ടിയിൽ ശോഭനമാണ്. എക്സ്.എം.എൽ. ഉപകരണങ്ങളിലൂടെയും വെബ് ആപ്ലിക്കേഷൻ ഫ്രെയിംവർക്കുകളിലുമാണ് ഇന്ന് ജാവയുടെ വികാസം ഏറെ നടക്കുന്നത്, ഇന്നത്തെ അവസ്ഥയിൽ ഏറെ വളർച്ചയുള്ള മേഖലകളാണവ എന്നു പൊതുവേ കരുതുന്നു. വെബ് അധിഷ്ഠിതവും സെർവർ സൈഡ് എന്റർപ്രൈസ് ആപ്ലിക്കേഷനുകളിലും ജാവ ഇന്നു തന്നെ അതിന്റേതായ പങ്ക് വഹിക്കുന്നുണ്ട്. ഇടക്കാലത്ത് തടസ്സപ്പെട്ടുപോയ ക്ലൈന്റ് പിന്തുണയും ഇന്ന് കൂടുതൽ കിട്ടിവരുന്നു. മുമ്പത്തേക്കാളും ദൈനംദിന ഉപയോഗത്തിനുള്ള സോഫ്റ്റ്‍വെയറുകൾ ഇന്ന് ഉണ്ട്. പൊതു ഉപയോഗത്തിൽ ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളുടെ കുത്തക അവസാനിക്കുന്നതനുസരിച്ച് ജാവ അതിന്റെ പിടിമുറുക്കിക്കൊണ്ടിരിക്കുമെന്നു കരുതുന്നു. ആർ.എസ്.എസ്. മുതലായ സാങ്കേതിക വിദ്യകളും ജാവയുടെ വളർച്ചയ്ക്ക് ഉൽ‌പ്രേരകമാവും എന്നാണ് ജാവ കമ്മ്യൂണിറ്റി കരുതുന്നത്.

ചെറിയ ചെറിയ ഉപകരണങ്ങളിൽ ജാവയുടെ സാന്നിദ്ധ്യം ഇനിയും ഏറെ വർദ്ധിച്ചേക്കുമെന്നു കരുതുന്നു. ജാവ എം.ഇ. എന്ന ജാവയുടെ മൈക്രോ എഡിഷൻ പ്രാപ്തികുറഞ്ഞ ചെറിയ ഉപകരണങ്ങളിൽ ജാവ പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാനുള്ള ജാവയുടെ ഒരു ഉപഗണമാണ്. പി.ഡി.എ.കൾ ആയിരുന്നു ജാവ എം.ഇ.യുടെ പ്രഥമലക്ഷ്യമെങ്കിലും ഇന്ന്, അത് ഡൌൺലോഡ് ചെയ്യാവുന്നതും പുതുക്കാവുന്നതുമൊക്കെയായ ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്ന മൊബൈൽ ഫോണുകൾ ഏറെയുണ്ട്. ഇതും നഷ്ടപ്പെട്ടുപോയേക്കാവുന്ന ഒരു വിപണിയല്ല. ജാവയുടെ ഗുണങ്ങളുള്ള മറ്റൊരു പ്രോഗ്രാമിങ് ഭാഷയില്ല എന്നതു തന്നെയാണ് കാരണം. ഇന്ന് ആൻഡ്രോയിഡ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ ആപ്പുകൾ നിർമിക്കാൻ കസ്റ്റമൈസ്ഡ് ജാവ ഉപയോഗിക്കുന്നു.

കടപ്പാട് – വിക്കിപീഡിയ.