本文几乎全部为深入理解Java虚拟机(周志明)原文内容,仅用于本人学习
JDK1.8去掉了方法区(Method Area),新增了元空间(Metaspace)
JVM运行时数据区域:
![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jYW1vLmdpdGh1YnVzZXJjb250ZW50LmNvbS8wYmNjNmMwMWE5MTliMTc1ODI3ZjBkNTU0MGFlZWMxMTVkZjZjMDAxLzY4NzQ3NDcwNzMzYTJmMmY2ZDc5MmQ2MjZjNmY2NzJkNzQ2ZjJkNzU3MzY1MmU2ZjczNzMyZDYzNmUyZDYyNjU2OTZhNjk2ZTY3MmU2MTZjNjk3OTc1NmU2MzczMmU2MzZmNmQyZjMyMzAzMTM5MmQzMzRhNjE3NjYxZThiZjkwZThhMThjZTY5N2I2ZTY5NWIwZTY4ZGFlZTU4Y2JhZTU5ZjlmNGE0NDRiMzEyZTM4MmU3MDZlNjc?x-oss-process=image/format,png#pic_center)
程序计数器
- 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。
- 在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一个需要只晓得字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。
- java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的;在一个确定时刻,对于一个处理