zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
java 接口返回格式
Request must contain an kbn-xsrf header 报错
java 类型转换
layui中使用ajax请求后端
string boot中get、post 接口
mysql window 启动
自动化--APP UI自动化--Airtest 实用命令汇总
自动化--APP UI自动化--Airtest poco定位
自动化--APP UI自动化--Airtest点击悬浮
最近工作
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
线上问题备忘录
实时统一日志采集Flume平台化
日志结构合并树LSM代码解读
一致性Hash算法的理解
跳跃表SkipList的理解
tfs主控与数据节点读写流程—源码解读
缓存算法之LRU与LFU
tfs主从nameserver节点容错性—源码解读
tfs数据复制策略—源码解读
mysql8之与标准sql的区别
热门文章
mysql 查询,天,周,月等写法
java8按照lamda表达式去重一个list,根据list中的一个元素
JAVA中高精度金额计算
List遍历以及剔除指定数据
Splunk监控软件操作
Win7环境下mysql报错1045:Access denied for user root@localhost错误解决方法
IDEA适合的插件
解决高并发下的缓存穿透问题
powermock单元测试小结
maven 项目打包部署到linux
Copyright © 2011-2022 走看看