一、jvm模型概述
java虚拟机(jvm)在java程序运行的过程中,会将它所管理的内存分为若干个不同的数据区域,这些数据区域有的随着jvm的启动而创建,有的随着用户线程的启动和结束而建立和销毁。一个基本的jvm运行时内存模型如下所示:
二、程序计数器
① 程序计数器(program counter register ) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里(仅是概念模型,各种虚拟机可能会通过更搞笑的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。