参考:
http://www.cnblogs.com/java-chl/p/5614940.html
http://www.studytonight.com/java/component-of-java.php
classLoader: loads the class for execution:
method area: stores pre-class structure as constant pool
heap: in which objects are allocated
stack: local variables and partial results are stores here. Each thread has a private JVM stack created when the thread is created.
program register: prohram register holds the address of JVM instruction currently being executed
native method stack: it contains all native used in application.
execution engine: controls the execute of instructions contained in the methods of trhe classes
native method interface: gives an interface between java code and native code during execution
native method libraries: consist of files required for the execution of native code
Difference between JDK and JRE
JRE: The Java Runtime Environment provides the libraires, the JVM, and other components to run applets and applications written in JAVA. JRE does not contain tools and utilities such as compliers or debuggers for developing applets and applications
JDK: The JDK development kit is a super set of the JRE, and contains everything that is in the JRE, plus tools as te compilers and
debuggers necessary for developing applets and applications