当jvm运行起来的时候,它会向系统申请一片内存区,并将这块内存分出一部分存储程序创建的对象,传递给方法的参数,返回值,局部变量等等,我们将这块内存称之为“运行时数据区”. 初学的时候把Java内存分为堆内存和栈内存,这种分法是比较粗糙的. 仔细来看,运行时数据区可以划分成程序计数器(PC寄存器).本地方法栈.虚拟机栈(Java栈).堆.方法区.运行时常量池. 程序计数器(PC寄存器):Java是多线程的,每个线程都需要一个独立的程序计数器,以控制程序的分支.循环.跳转.异常处理等基础操作. 虚拟