1) Classloader:Classloader is a subsystem of JVM that is used to load class files.
2) Class(Method) Area:Class(Method) Area stores per-class structures such as the runtime constant pool, field and method data, the code for methods.
3) Heap:It is the runtime data area in which objects are allocated.
4) 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.
5) Program Counter Register:PC (program counter) register. It contains the address of the Java virtual machine instruction currently being executed.
6) Native Method Stack:It contains all the native methods used in the application.