阅读 85

JVM之虚拟机栈

数据运行时数据区域

Java虚拟机在执行Java程序过程中会将它管理的内存分成若干个不同的数据区域,不同的数据区域用途不同,内存的管理(创建和销毁)不同,如图1-1是Java虚拟机中数据的区域模型图。

图1-1 Java 虚拟机运行时数据区

Java虚拟机栈

Java虚拟机栈,也就是大家经常说的栈内存,Java栈。每个方法在被执行的时候Java虚拟机都会同步创建一个栈帧(Stack Frame),用于存储局部变量表、操作数栈、动态连接、方法返回地址等其他信息。每一个方法被调用到执行完的过程对应的就是每个栈帧在虚拟机中从入栈到出栈的过程。栈帧是一种基本数据数据结构。如图1-2所示。


图1-2 栈帧概念结构

局部变量表

什么是局部变量表
有什么作用
存储的是什么

操作数栈

什么是操作数栈
有什么作用

动态连接

什么是动态连接
有什么作用

方法返回地址

是什么
有什么作用

其他信息

其他信息是什么

总结

思考

引用

  1. 《深入理解Java虚拟·JVM高级特性与最佳实践 第3版》周志明

作者:Seven_DQ

原文链接:https://www.jianshu.com/p/c09cffd4488c

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐