zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
webpack devServer配置项的坑
app混合开发 fastlick.js 在ios上 input标签点击 不灵敏 处理
vue 学习八 自定义指令
Verilog数值大小比较
Verilog实现Matlab的fliplr函数
基本不等式
如何读取ila数据
Xilinx FPGA时钟IP核注意事项
FPGA Turbo译码器注意事项
EbN0转SNR
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
读入优化模板
LuoguP3368 【模板】树状数组 2
LuoguP3374 【模板】树状数组 1
LuoguP3371 【模板】单源最短路径(弱化版)
LuoguP3366 【模板】最小生成树
LuoguP3379 【模板】最近公共祖先(LCA)
LuoguP2939改造路
LibreOJ #109. 并查集
Codevs P1474十进制转m进制
初始myBatis(一)
热门文章
Java初学者的学习路线建议
java中如何获取项目的路径
select last_insert_id()使用注意(一)
心若淡定,便是优雅
vscode 常用的插件
webpack5 常用loader
webpack 学习三 模式
webpack 学习2 入口(entry)和输入管理(output)
webpack 学习1 安装构建项目
webpack 模块热替换的理解和使用
Copyright © 2011-2022 走看看