Skip to main content

Java Virtual Machine සිංහලෙන්

Java කියන්නේ අද ලෝකයෙ ගොඩක්ම use වෙන programming languages වලින් එකක් කියල හදුන්වා දෙන්න පුලුවන්. Java language එක භාවිතා කරල අපිට නොයෙක් ආකාරයෙ applications හදා ගන්න පුලුවන්. උදාහරණයන් විදිහට standalone applications, mobile applications, web applications මේ වගෙ ගොඩක් දෙවල් හදුන්වන්න පුලුවන්. අද මං මගෙ blog එකෙ පලවෙනි article series  එකෙන් කතා කරන්න හදන්නෙ JVM එ කියන්නෙ Java Virtual Machine එක ගැන. ඉතිං මුලින්ම කියන්න ඕනි මෙ article එකෙන් අපි Java Programming ගැන කාතා කරන්න බලාපොරොත්තු වෙන්නෙ නෑ. ඒ ගැන ඕනෑ තරම් tutorials හොයාගන්න පුලුවන් . මේකෙ audience එක වෙන්නෙ Java basic concepts ගැන උනන්දුවක් දක්වන මේ ගැන ඉගෙන ගන්න ආස අය.

Java Platform independent ???

හොදයි ඇයි මෙහෙම jvm කියල එකක් ඕනි වෙන්නෙ?? ඔයාලට java ගැන යම් දැනුමක් තියනවනම් ඔයාලා දන්නවා java වල වීශේශ ලක්ශන ගැන. එක දෙයක් තමයි Java platform independent කියන කතාව. මොකක්ද මෙ කතාව කියල ඔයාල හොයාගෙන ගියොත් ඔයාලට තෙරුම් ගන්න පුලුවන් වෙයි Java වලින් අපි ලියන ඕනීම program එකක්, කිසිම වෙනසක් කරන් නැතුව java install කරල තියන ඕනීම os එකක run කරන්න පුලුවන්.  ඒ කියන්නේ අපි install කරන jdk එක එ,එ os වලට ගැලපෙන්න තමයි හදල තියෙන්නෙ. ඔයාලට සාමාන්‍ය programming ගැන දැනුමක් නැත්තං මේ ගැන තෙරුම් යන් නැති වෙන්න පුලුවන්. එහෙම අයට තවත් සරලව මෙහෙම කියන්න පුලුවන්. පරිඝණක වල තියන hardware components වලට යම් යම් කාර්‍යන් කරන්න කියල instructions දෙන එක තමයි අපි program එකකින් කරන්නෙ. සරලම උදාහරනයක් විදිහට අංක 2ක් එකතු කරන්න තියන program එකක් ගත්තම අපිට එ දේ ගැන instructions  ලබා දෙන්න ඕනී. ඒ ලබාදෙන instructions පරිඝනක වලට තේරුම් යන විදිහට තමයි අපි ලබා දෙන්න ඔනී. පරිඝනක වලට කියවන්න පුලුවන් 1,0 එ කියන්නෙ binaries. නමුත් අපිට මේ one and zeros වලින් program ලියන්න අමාරුයි. ඒකට අපිට තේරෙන ව්දිහට මෙ දේ කර ගන්න natural languages වලට ලගින් යන විදිහට programming languages හැදුනා. අපි මේ programming language වලින් ලියන programs , binaries වලට convert කරන්න compiler කියල compont එකක් එ එ programming languages  වලට අදාලව තියනව. අනිත් පැත්තෙන් ගත්තම os ගැන , එකේක os වල calculation කරන ක්‍රම වෙනස්. එතකොට එ එ os වලට ගැලපෙන්න වෙන වෙනම binaries(instructions) ,යවන්න ඕනි. මේ දෙ කරගන්න අපිට එ එ OS වලට හරි යන විදිහට අපෙ program එක වෙනස් කරන්න සිද්ද වෙනව. එහෙම නැත්නං අපිට මෙ compilation process එක මගින් එකම code එක එ එ os වලට ගැලපෙන විදිහට convert කරන්න සිද්ද වෙන්ව. අපිට එක් එක් os වලට වෙන වෙනම progrms හදන්න වෙනවනම් ඒ programming language එක platform dependent වෙනවා. නමුත් Java එහෙම වෙන් නෑ. Java මේ දෙට විසදුමක් විදිහට තමයි එක් එක් os සදහා වෙනම වෙන්ම jvms හදලා තියෙන්නෙ. JVM එකෙන් කොහොමද මේ platform independent කියන දේ කරන්නෙ කියල වගේම, මෙ JVM එකෙන් Java කරල තියන අනිත් magics ගැන වගේම, මේ පිලිබඳ java ඉගෙන ගන්න කෙනෙක්ට අවශ්‍ය සියලුම මූලික , වැදගත් කාරනා ගැන ඉස්සරහට කතා කරමු.

Comments