zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
gearman任务分发改进
gearman实现任务分发
BeanStalkd 做队列服务
Tomcat各种日志的关系与catalina.out文件的分割
数据库系统原理-关系数据库的规范化理论总结
MySQL配置参数innodb_flush_log_at_trx_commit
gRPC快速入门
使用vagrant和kubeadm搭建k8s集群
VS项目属性中的C/C++运行库:MT、MTd、MD、MDd
消除C++中警告代码
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
转发:文旅行业 搜索引擎算法
数字化转型
能源互联网建设
IT strategy plan overview
虚拟数字人发展白皮书 虚拟人roadmap
AI在财务转型领域的应用;
Key Success to bring team moving forward
MYSQL获取昨天所在月份的第一天SQL
介绍几款画图软件
(原)查看cephfs中的元数据对象和数据对象信息
热门文章
Linux渗透之反弹Shell命令解析
linux中基于root账号为成员创建账户
Linux平台编译器小技巧
动态数组在通讯协议中的应用
开发实践思考(四)
内存泄露检测方案分析
packet capture 抓取 网络断开
杂谈--User Story
Salesforce 生命周期管理(二)Agile & Scrum 浅谈
Salesforce 生命周期管理(一)应用生命周期浅谈
Copyright © 2011-2022 走看看