મિત્રો, આ Tutorial માં આપણે શીખીશું JVM નું આર્કિટૈક્ચર (Architecture of JVM in Gujarati, JVM, Architecture, Architecture of JVM, What is JVM Architecture, Java virtual machine).
આપણે અગાઉ ના Tutorial માં જોયું કે JVM શું છે? તેના Features અને તેના ઉપયોગો શું છે. અને તેની સાથે સાથે આપણે તે કઈ રીતે Work કરે છે તે પણ જોયું. તો ચાલો મિત્રો! હવે આપણે જોઈએ JVM નું આર્કિટૈક્ચર.
Architecture of JVM (Java virtual machine) in Gujarati – જેવીએમ નું આર્કિટૈક્ચર
ClassLoader in Java
- JVM નું class loader એક subsystem છે જેનો ઉપયોગ file ને load કરવામાં થાય છે.
- જ્યારે પણ આપણે java program ચલાવીએ ત્યારે પેહલા loader દ્વારા load કરવામાં આવે છે.
- Java માં ત્રણ built-in class loader છે:
- Bootstrap ClassLoader
- Extension ClassLoader
- System/Application ClassLoader
1) Bootstrap ClassLoader
- આ પહેલો class loader છે જે extension class loader નો super class છે.
- આ rt.jar file ને load કરે છે જેમાં java standard edition ની બધી class file આવેલી હોય છે જેવી કે, java.lang package classes, java.net package classes, etc.
2) Extension ClassLoader
- આ bootstrap નો child class loader અને system class loader નો parent class loader છે.
- આ $JAVA_HOME/jre/lib/ext directory ની અંદર jar files ને load કરે છે.
3) System/Application ClassLoader
- આ extension class loader નો child class loader છે.
- આ classfiles ને class path થી load કરે છે.
- Default રૂપમાં, classpath ને current directory માં set કરવામાં આવે છે.
- તમે “cp” અથવા “classpath” command નો ઉપયોગ કરી classpath ને બદલી શકો છો.
- આને application class loader ના રૂપમાં પણ ઓળખાય છે.
આ પણ વાંચો – What is JVM in Gujarati?
Class [Method] Area
- Class [Method] Area દરેક class ના structures ને store કરે છે જેવા કે, runtime constant pool, field and method data, methods માટેના code.
- JVM method area માં class ના structure નો metadata છે.
Heap
- આ runtime ડેટા એરિયા છે. જેમાં objects allocate કરવામાં આવે છે.
- આમાં બધા objects, arrays અને instance variables store હોય છે.
- આ મેમરી ઘણા threads માં share હોય છે.
Stack
- Java માં stack એ frames ને store કરે છે.
- આ local variables અને partial results રાખે છે અને method invocation અને return માં પણ ભૂમિકા નિભાવે છે.
- દરેક thread માં પોતાનું એક ખાનગી JVM stack હોય છે, જેને thread ના રૂપમાં એક જ સમય માં બનાવવામાં આવે છે.
- એક method લાગુ થવા પર દરેક વખતે એક નવી frame બનાવવામાં આવે છે..
- એક frame ત્યારે destroy થઈ જાય છે જ્યારે તેની method invocation પૂરી થઈ જાય.
Program Counter Register
- PC [Program Counter] register માં java virtual machine instruction નું address હોય છે. જેને વર્તમાન[present] માં execute કરવામાં આવે છે.
Native Method Stack
- આમાં application માં ઉપયોગ થતાં બધા મૂળ એટલે કે બધા part શામિલ હોય છે.
Execution Engine in Java
- આમાં નીચે મુજબ ના components શામિલ હોય છે:
- એક virtual processor
- Interpreter: bytecode stream વાંચીને instructions ને execute કરે છે.
- Just-In-Time [JIT] Compiler:
- આનો ઉપયોગ performance ને વધારે સારું બનાવવા માટે થાય છે.
- Jit bytecode ના એ ભાગો ને compile કરે છે જેમની એક જ સમય માં સમાન કાર્યક્ષમતા [functionality] હોય છે. અને એટલે જ compilation માટે નો જરૂરી સમય ઓછો થઈ જાય છે અને compilation ઝડપી બને છે.
- અહિયાં “compiler” શબ્દ એક JVM ના instruction set થી એક specific CPU ના instruction set માં એક translator ને reference કરે છે.
Java Native Interface [JNI]
- જાવા native interface એક framework છે.
- જે C, C++, assembly વગેરે જેવી ઘણી languages માં લખાયેલ ઘણી application સાથે communicate કરવા માટે એક interface provide કરે છે.
- જાવા JNI framework નો ઉપયોગ console માં output મોકલવા અથવા OS libraries સાથે interact કરવા માટે કરે છે.
આ પણ વાંચો – History of Java in Gujarati
આ પણ વાંચો – Java and Internet in Gujarati
આ પણ વાંચો – Features of Java in Gujarati
આ પોસ્ટ જેમાં મિત્રો આપણે જોયું JVM નું આર્કિટૈક્ચર (Architecture of JVM in Gujarati, Architecture of JVM, What is JVM Architecture, Java virtual machine).
જો મિત્રો તમને આ પોસ્ટ મદદરૂપ લાગી હોય, તો તમે તમારા મિત્રો સાથે ચોક્કસ શેર કરો અને જો તમને જાવા અથવા બીજા કોઈ વિષય સંબંધિત કોઈ પ્રશ્ન હોય તો તમે નીચે કોમેન્ટ કરીને અમને જણાવી શકો છો. આભાર.