Tuesday 26 April 2016

4.Two steps to execute java Program?


4. Two steps to execute java Program?

      1. source code converted in Byte code.(using javac tool)

      2. byte code convert in Machine code.(using java tool)

   
             


What is JIT Compiler in java?
 Just-In-Time(JIT) compiler:It is used to improve the performance.JIT compiles parts of the byte code that have similar functionality at the same time, and hence reduces the amount of time needed for compilation.Here the term ?compiler? refers to a translator from the instruction set of a Java virtual machine (JVM) to the instruction set of a specific CPU.

Wednesday 13 April 2016

3. Difference between Stack and Heap In java?

3. Difference between Stack and Heap In java



Stack
Heap
1. Stack memory is used to store Local    variables and function call.
1. Heap memory is used to store objects in  Java.
2. If there is no memory left in the stack for storing function call or local variable, JVM will throw java.lang.StackOverFlowError.
2. if there is no more heap space for creating an object, JVM will throw java.lang.OutOfMemoryError.
3. size of stack memory is a lot lesser than the size of  heap memory .
3. size of Heap memory is a bigger  than the size of  stack  memory. 
4. Variables stored in stacks are only visible to the owner Thread. In other words, stack memory is kind of private memory of Java Threads.




4.  objects created in the heap are visible to all thread. and  heap memory is shared among all threads.

2. Internal Architecture Of JVM?



Internal Architecture Of JVM


 Classloader:
Classloader is a subsystem of JVM that is used to load class files.
Class(Method) Area:
Class(Method) Area stores per-class structures such as the runtime constant pool, field and method data, the code for methods.
  Heap:
It is the runtime data area in which objects are allocated.
 Stack:
Java Stack stores frames.It holds local variables and partial results, and plays a part in method invocation and return.
Each thread has a private JVM stack, created at the same time as thread.
A new frame is created each time a method is invoked. A frame is destroyed when its method invocation completes.
Program Counter Register:
PC (program counter) register. It contains the address of the Java virtual machine instruction currently being executed.
  Native Method Stack:
It contains all the native methods used in the application.
 Execution Engine:
It contains:
 A virtual processor
 Interpreter:-Read bytecode stream then execute the instructions.
Just-In-Time(JIT) compiler:-It is used to improve the performance.JIT compiles parts of the byte code that have similar functionality at the same time, and hence reduces the amount of time needed for compilation.Here the term ?compiler? refers to a translator from the instruction set of a Java virtual machine (JVM) to the instruction set of a specific CPU.



Tuesday 12 April 2016

  1. Difference between JVM/JRE/JDK ?                            

                                java virtual machine(JVM)


JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed.
JVMs are available for many hardware and software platforms. JVM, JRE and JDK are platform dependent because configuration of each OS differs. But, Java is platform independent.
The JVM performs following main tasks:
        Loads code
          Verifies code
          Executes code
          Provides runtime environment
                            
                          Java Runtime Environment(JRE)
  • JRE is an acronym for Java Runtime Environment.It is used to provide runtime environment.It is the implementation of JVM.It physically exists.It contains set of libraries + other files that JVM uses at runtime.
    Implementation of JVMs are also actively released by other companies besides Sun Micro Systems.



                                    Java Development Kit(JDK)

    JDK is an acronym for Java Development Kit.It physically exists.It contains JRE + development tools.