Skip to main content

JVM (Java Virtual Machine) ගැන මූලික අවබෝධයක්

ටික දවසකට පස්සේ ඔන්‍න‍ තවත් පාඩමක් අරන් ආවා. :)
කලින් පාඩම අවසානයේදී මං කිවුව වගේම ජාවා වැඩසටහනක් පරිගණකයේදී ක්‍රියාත්මක වෙන්නේ කොහොමද කියල පැහැදිලි කරන්නයි මේ සූදානම.
මං හිතනවා මේ හැමෝම Operating System, එහෙමත් නැත්නම් මෙහෙයුම් පද්ධති කියන දේ දන්නවා කියල...
උදාහරණයක් විදියට, Windows XP, Windows Vista, Windows 7, Windows 8, Mac OSX, Ubuntu, Solaris, Android වගේ නම් වලින් අපි අහල දැනගෙන තියෙන්නේ මෙහෙයුම් පද්ධති කිහිපයක්.
මේ මෙහෙයුම් පද්ධති බොහොමයක් පරිගනකයකදී ක්‍රියාත්මක වෙන්නේ එකිනෙකට වෙනස් ආකාර වලින්. ඒ වගේමයි ඒවා තුල ක්‍රියාත්මක කල හැකි මෘදුකාංගත් එකිනෙකට වෙනස්.
මේ නිසාම බොහොමයක් මෘදුකාංග නිපදවන්නන්ට සිදු වෙලා තියෙනවා ඒ ඒ මෙහෙයුම් පද්ධතියට සරිලන විදියට එකම මෘදුකාංගය වෙන වෙනම කේත කරන්නට.
නමුත් ජාවා පරිගණක භාෂාව භාවිතයෙන් නිපදවන මෘදුකාංග වලට මේ ගැටළුව උත්ගත වෙන්නේ නැහැ!
ජාවා මේ තරම් විශේෂ වෙන්න මේකත් එක් හේතුවක්.

මුල් පාඩම් වලදී මං සඳහන් කල විදියට, පරිගණකයක් හඳුනන්නේ 1 සහ 0 පමණයි. හරියටම කිවුවොත් අදාල අවස්ථාවේදී පරිගණකයේ පරිපථ හරහා විදුලිය ගමන් කරනවද නැද්ද කියන එක තමයි 1 සහ 0න් නිරුපනය කරන්නේ. 1න් විදුලිය ගමන් කිරීමත්, 0න් විදුලිය ගමන් කරන්නේ නෑ කියන එකත් නිරුපනය කරනවා. සෑම පරිගණක වැඩසටහනක්ම මේ ආකාරයට පරිගණකයට තේරුම් ගත හැකි ආකාරයේ උපදෙස් මාලාවකින් සමන්විතයි. අපි ජාවා වලින් නිර්මාණය කරන වැඩසටහන මේ ආකාරයට පරිගණකයට තේරුම් ගන්න පුළුවන් විදියේ උපදෙස් මාලාවක් බවට පත්කර දෙන්නේ Java Compiler (javac.exe) වැඩසටහන මගිනුයි.


මේ විදියට අපිට ලැබෙන .class ෆයිල් එක ඕනෑම මෙහෙයුම් පද්ධතියක සෘජුවම ක්‍රියාත්මක කරන්නට හැකියාවක් අපිට නෑ. මොකද සෑම මෙහෙයුම් පද්ධතියක්ම ක්‍රියාත්මක වෙන්නේ ඊටම අනන්‍ය වූ ක්‍රමයකටයි. ජාවා වැඩසටහන මේ කිසිම ක්‍රමවේදයකට නොගැලපෙන වෙනමම වැඩසටහනක්. 


ඉහත රුපයේ දක්වලා තියෙන විදියට අපේ වැඩසටහන කිසිම මෙහෙයුම් පද්ධතියකට ගැලපෙන්නේ නෑ. අපේ ජාවා වැඩසටහන ක්‍රියාත්මක කරවන්නට හැකියාව ලබා දෙන්නේ ඒ ඒ මෙහෙයුම් පද්ධතියට අදාලව Oracle සමාගම වෙතින් ලබා දෙන JVM එක හෙවත් Java Virtual Machine එකයි. JVM එක install කරලා නැත්නම් කිසිම පරිගනකයක ජාවා වැඩසටහනක් ක්‍රියාත්මක කරවන්නට බෑ. JVM එක අපේ ජාවා වැඩසටහනත් මෙහෙයුම් පද්ධතියත් අතර සම්බන්ධීකරක්යෙක් විදියට කටයුතු කරනවා.


JVM එක install කලාට පස්සේ අපේ ජාවා වැඩසටහන සෑම මෙහෙයුම් පද්ධතියක් එක්කම හොඳින් ක්‍රියාත්මක වෙනවා. මොකද ඒ ඒ මෙහෙයුම් පද්ධතිය ක්‍රියාත්මක වෙන විදිය ගැන ජාවා වැඩසටහන දැන සිටියේ නැතත් JVM එක ඒ පිළිබඳව හොඳින් දන්නා නිසයි.
ජාවා පරිගණක භාෂාවට Platform Independent කියන සුවිශේෂී ගුණාංගය ලැබිල තියෙන්නේ මෙන්න මේ JVM එකේ ක්‍රියාකාරීත්වය නිසයි. 
අපි ඊළඟ පාඩමින් ජාවා data types ගැන ඉගෙන ගනිමු.

Comments

Popular posts from this blog

ලිනක්ස් මෙහෙයුම් පද්ධතියක Java Development Kit (JDK) install කරන විදිය

ලිනක්ස් පාදක මෙහෙයුම් පද්ධති කියන්නේ අද ලෝකයේ දියුණුම සහ වේගයෙන්ම දියුණු වන මෙහෙයුම් පද්ධතියි. ඒ වගේම ඒ සෑම මෙහෙයුම් පද්ධතියක්ම වාගේ නොමිලේ ලබාගන්නට හැකියාව තිබෙනවා. නමුත් බොහොමයක් පරිගණක බාවිතා කරන්නන් ලිනක්ස් පාදක මෙහෙයුම් පද්ධති බවිත නොකරන්නේ, මේ මෙහෙයුම් පද්ධති තුල සමහර මෘදුකාංග ස්ථාපනය කිරීම වින්ඩෝස් පරිගණක වල තරම් පහසු නැති නිසායි. නමුත් ලෝකයේ පරිගණක ක්‍රමලේඛ ශිල්පීන්ගේ ප්‍රියතම මෙහෙයුම් පද්ධතිය බවට ලිනක්ස් පාදක මෙහෙයුම් පද්ධති පත්ව තිබෙනවා. එයට ප්‍රධානම හේතුවනම් ලිනක්ස් පාදක මෙහෙයුම් පද්ධති වල ඇති කාර්යක්ෂමතාවයයි. ලිනක්ස් පාදක මෙහෙයුම් පද්ධති බාවිතා කරන අයට Java Development Kit (JDK) ස්ථාපනය කර ගන්නා අයුරු මේ ලිපියෙන් කියල දෙන්නම්. (ලිනක්ස් පාදක මෙහෙයුම් පද්ධති ආශ්‍රිතව ඇති වන ඕනෑම ගැටළුවක් Linux Warriors  community එකේ පොස්ට් කරන්න. ඔබට නිසැකවම පිළිතුරක් ලැබේවි) ලිනක්ස් මෙහෙයුම් පද්ධතියක Java install කරන විදිය මුලින්ම ඔබේ පරිගණකයේ processor architecture එක (32-bit, 64-bit) දැන ගමු. මේ සඳහා මුලින්ම ලිනක්ස් terminal එක open කරලා,  file /sbin/...

Variables සහ Data Types ( 1 කොටස )

ඔන්න පොරොන්දු වුනා වගේම Data Types ගැන පාඩම අද ඉදිරිපත් කරනවා. Data types කියන්නේ මොනවද කියල විස්තර කරන්න කලින් මෙන්න මේ පොඩි ප්‍රෝග්‍රෑම් එක ක්‍රියාත්මක කරලා බලන්න. මේ code එක Notepad එකට copy කරලා, මම කියල දුන්නු විදියට cmd එකෙන් compile කරලා run කරලා බලන්න. class Test{ public static void main(String args[]){   byte b = 10; short s = 20;   int i = 30; long l = 40;   double d = 34.5;   float f = 55.456f;   char c = 'x';   boolean bool = true;   System.out.println(b);   System.out.println(s);   System.out.println(i);   System.out.println(l);   System.out.println(d);   System.out.println(f);   System.out.println(c);   System.out.println(bool); } } මේ code එක run කලාම පහත දැක්වෙන විදියේ ප්‍රතිපලයක් ලැබේවි. වැඩසටහනේ අන්තිම පේලි...