zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
Windows 显示隐藏文件
Python 程序一行代码解决乘法口诀表
【转发】基于Bert-NER构建特定领域的中文信息抽取框架(上)
【转发】GET和POST两种基本请求方法的区别
【转发】实现yolo3模型训练自己的数据集总结
第十章集合总结
2016-2017 201671010134 异常处理
JAVA基础编程
2016-2017 201671010134 第六章总结
java总结
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
docker安装redis
linux Docker常见命令
linux_直接在linux里面替换jar包里的某个文件
SpringBoot中常见的注解以及使用场景
PowerDesigner最基础的使用方法入门学习
《将博客搬至CSDN》
Scala对象数据封装成json并输出
scala/java获取文件相对路径,编译成jar包后可以继续读取
scala获取接口中的数据
Json字符串转换成Scala对象的一些注意事项
热门文章
kafka-eagle的8048端口页面500
linux安装pip
DataX使用之MongoDB2HDFS
修改服务器ssh端口后配置ssh免密
test
【转发】自动生成Sqlalchemy的models文件
Python项目生成依赖包清单requirements .txt文件
吴恩达deeplearning.ai课后作业
矩阵的乘法运算
python中CRFPP的安装方法(ModuleNotFoundError: No module named 'CRFPP')
Copyright © 2011-2022 走看看