JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器

目录

1. JAVA中的线程

 2.  栈区 

2.1 栈帧

2.2 栈可能出现的异常

2.3 设置栈大小

3.程序计数器(PC)

 4. PC和栈发挥的作用

 5. 关于栈的常见面试题


       虚拟机包含三大部分,类加载子系统,运行时数据区,执行引擎。运行时数据区又包含方法区,堆区,栈区,程序计数器,本地方法栈。本篇说明一下虚拟机栈和程序计数器。

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第1张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第2张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第3张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第4张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第5张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第6张图片JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第7张图片

1. JAVA中的线程

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第8张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第9张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第10张图片

 2.  栈区 

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第11张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第12张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第13张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第14张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第15张图片 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第16张图片 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第17张图片

2.1 栈帧

栈是有栈帧组成,每个栈帧又有自己的内部结构

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第18张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第19张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第20张图片 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第21张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第22张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第23张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第24张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第25张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第26张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第27张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第28张图片

2.2 栈可能出现的异常

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第29张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第30张图片

2.3 设置栈大小

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第31张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第32张图片

3.程序计数器(PC)

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第33张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第34张图片

 4. PC和栈发挥的作用

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第35张图片

 5. 关于栈的常见面试题

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第36张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第37张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第38张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第39张图片

JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第40张图片

 JVM第三篇 运行时数据区-虚拟机栈和PC程序计数器_第41张图片

局部变量线程安全总结:发生逃逸的不是线程安全的,不逃逸的是线程安全的

你可能感兴趣的:(JVM,java,jvm,java)