The JVM memory partitioning will during the execution of a Java program to the management of several regions, including a program counter (Program Counter Register), a virtual machine stack (VM Stack), native method stacks (Native Method Stack), heap area ( heap) region and a method (method area). Wherein the first three threads isolated data is taken, i.e., each has a thread, the latter two are shared area, i.e., all the threads share the same one. Next, we look at each of these areas.
The first is the program counter.