Java虚拟机之内存区域(1)
Java虚拟机之内存区域,今天这篇文章来深入理解一下把 深入理解Java虚拟机之Java内存区域 Java 虚拟机在执行 Java 程序的时候会把它所管理的内存分为多个不同的区域,每个区域都有不同的作用,以及由各自的生命周期,有些随着虚拟机进行的 启动而存在,有些区域则依赖于用户线程的启动或结束而建立或销毁等。在《Java虚拟机规范(Java SE7版)》中规定,Java 内存分为以下一种,如图所示: 1、程序计数器 程序计数器(Program Counter Register)是一个内存较小的区域,它可以被看作是当前线程所执行到的字节码的行号的指示器,字节码解释器在执行下一条指令,比如分支,跳转,循环,异常处理等都需要依赖这个计数器来完成的。 由于 Java 多线程是通过不断的切换分配处理器时间片的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条指令。也就是说,在多线程中每个线程都可以抢到 cpu 的时间片,那么别抢去的线程会立即停止下来,直到它再一次获得 cpu 的时间片。那么, Java 虚拟机是如何确保再一次获得处理器时间片的时候能够在正确的位置上继续执行指令? J...







