Skip to content

What is Java Virtual Machine (JVM) & JVM Architecture in Sinhala - Lesson 02

What is Java Virtual Machine (JVM)



Java කියන්නේ high level programming language එකක්. High level language එකකින් ලියපු program එකක් directly run කරන්න බැහැ machine එකේ. මුලින්ම අපි ඒක machine language එකට convert කරගන්න ඕනේ. Java language එකේදී javac compiler තමයි අපිට මේ දේ කරලා දෙන්නේ. එමගින් java program එක (.java file containing source code) පරිවර්තනය කරනවා machine code එකට. (to byte code or .class file).

Java Virtual Machine (JVM) කියන්නේ virtual machine එකක්. මේක වැඩ කරන්නේ real machine (your computer) එක ඇතුලේ. JVM run වෙන machine language එක තමයි byte code. JVM එක executes කරනවා compiler සකසාගත් byte code එක. JVM එක තමයි java programs වලට platform independent හැකියාව ලබාදෙන්නේ. (Which means that the byte code generated on Windows can be run on Mac OS)


JVM Architecture

මන් මේකෙදි කියන ගොඩක් වචන ඔයාලට තේරුම්ගන්න අපහසු වෙන්න පුළුවන්. මේ සමහර වචන ඉස්සරහ lessons වලින් කතාකරන්න බලාපොරොත්තු වෙන දේවල් වලට අදාළ වචන. මේවා වැඩිය මතක තියාගන්න ඕනේ නැහැ. machine එකක් ඇතුලේ java run වෙන විදිය ගැන දල අදහසක් ගන්න තමයි මේ ටික දාන්නේ.

කොහොමද JVM එක වැඩ කරන්නේ?


Class Loader: Class loader විසින් කියවනවා .class files ඉන්පසු එම byte codes save කරනවා method area එක තුල.


Method Area: එක method area එකක් පමණයි JVM එක තුල තියෙන්නේ. මේ ඉඩ ප්‍රමාණය තමයි හැම class එකක් අතරම share කරගන්නේ. මේ තුල රදවාගන්නේ .class files වල information.


Heap: Heap කියන්නේ JVM memory එකේ කොටසක් objects සදහා ඉඩ වෙන් කරගන්නා. JVM එක හදනවා Class object සෑම .class file එකක් සදහාම.


Stack: Stack කියන්නෙත් JVM memory එකේ කොටසක් එක Heap එකට වඩා වෙනස්. එක භාවිතා වෙන්නේ තාවකාලික variables ගබඩා කර ගැනීමට.


PC Registers: මෙමඟින් execute කර ඇති උපදෙස් සහ execute කලයුතු උපදෙස් මොනවාදැයි සොයා බලයි. instructions execute කරන්නේ threads මගින්, සෑම thread එකකටම වෙනම PC register එකක් තිබිය යුතුයි.


Native Method stack: Virtual machine එකේ runtime data areas වලට access කරන්න පුළුවන් native method එකට.


Native Method interface: මෙමගින් තමයි java code එක native application එකක් බවට පත් කරන්නේ. (Native applications are programs that are specific to the hardware and OS of a system.)


Garbage collection: Java code එක execute වෙනකොට JVM Memory එක තුල ගබඩා කරගත්ත කොටස් run වෙලා ඉවර උනාම ඒවා තව දුරටත් ප්‍රයෝජනයක් නොමැතිනම් automatically ඉවත් කරනවා garbage collection මගින් memory management සදහා.


JRE - Java Runtime Environment


JRE එක තමයි java virtual machine එක run එන environment එක. Java virtual Machine(JVM), class libraries, සහ වෙනත් files ඒ තුල අන්තර්ගත වෙනවා.


JDK - Java Development Kit



JDK එක තුල තමයි JRE එක තියෙන්නේ, ඒ තුල JRE එකට අමතරව අපි කලින් කතා කරපු compiler, debugger වගේ development tools තියෙනවා.

Sign In or Register to comment.