Skip to main content

JAVA VIRTUAL MACHINE

Java Programming



Java Virtual Machine (JVM) is  the heart of  entire  Java program execution process. First of all, the .java program is converted into a .class file consisting of byte code instructions by the java compiler at the time of compilation. Remember, this java compiler is outside the JVM. This .class file is given to the JVM.

                       Following figure shows the architecture of Java Virtual Machine



Method Area  // Class Area:

Class area is the logical memory block of JVM, which holds information about classes and interfaces. Static variables are treated as class variables, because they take memory from method area. The size of the method area shrinks and expands according to the size of the application.

 Heap:

In Java when an object or an array is created, memory is allocated to them from heap. The JVM through the use of new operator allocates memory from the heap for an object. The JVM has a daemon thread known as Garbage Collector whose task is to free those object from heap whose reference is not alive in stack.

 JVM Language Stack || JAVA Stack:

Method  code  are  stored  on Method  area. But  while  running  a method,  it needs some more memory  to store  the data and results. This memory is allotted on Java Stacks.  So,  Java  Stacks  are  memory  area  where  Java  methods  are  executed.

PC  (Program  Counter)  registers: 

It keep track of the sequence of execution of the program. These are the registers (memory areas), which contain memory address of the instructions of the methods or PC register or program counter register holds the addresses of the instructions to be executed next.

 Native Method  Stacks:

When a Java application invokes a native method, that application does not only use  Java  Stacks but also uses the native method stack for the execution of native methods (for  example  C/C++  functions).  To execute the native methods, generally native method libraries (for example C/C++ header files) are required. The libraries required for the execution of native methods are available to the Java Virtual Machine through Java Native Interface.

Execution  Engine:

 contains  interpreter  and  JIT  compiler  which  translates  the  byte  code instructions  into  machine  language  which  are  executed  by  the  microprocessor.  Hot  spot (loops/iterations) is the area in .class file i.e. executed by JIT compiler. JVM will identify the Hot spots  in  the  .class  files  and  it will  give  it  to  JIT  compiler where  the  normal  instructions  and statements of Java program are executed by the Java interpreter.







Comments

Popular posts from this blog

Byte Code:

Java Programming Byte Code: It is the unique characteristic property of the Java programming language. It is something like a normal text file. Therefore, it cannot be affected by virus. It is an intermediate between a human readable source and machine readable source. Byte codes are plate form independent. Therefore, JVM is plate form dependent to make Java programming plate form indepdent.  

OPERATING SYSTEM

1.  The term 'operating system'   means: a)  the way a computer operator   works. b)  conversion of high level languages into machine   code. c)  a set of programs which controls computer   working. d)  none of the   above. 2.  What is the name of the operating system that reads and reacts in terms of actual   time: a)   Batch   system b) Time sharing system c) Real   time   system d) all of the above. 3.  The primary job of the operating system of a computer is   to: a)   command   resources b) manage   resources c) be   user friendly d) only one of the   above. 4.  Multiprogramming   systems: a) are easier to develop than single programming systems. b) execute more jobs in same time period. c) are used only on large   mainframe   computers. d) all of the above 5.  Which of the following is not an a...

DBMS LEARNING SHEET

                                                            Types of DATA Structured data are facts concerning objects and events. The most important structured data are numeric, character, and dates. Structured data are stored in tabular form. Unstructured data are multimedia data such as documents, photographs, maps, images, sound, and video clips. Unstructured data are most commonly found on Web servers and Web-enabled databases. Database A database is a collection of data that is organised in such a way that it provides efficient retrieval of desired information. This collected data could be in any format like printed, audio, electronic and graphic. Consider an example of an address book, it is also a database that provides information of personal contacts of persons. DBMS A Database Mana...