zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
微信客服系统开发SDK使用教程-给好友发消息任务
微信客服系统开发SDK使用教程-客户端选择微信号登陆/登出通知
微信客服系统开发SDK使用教程-客户端退出通知
php优秀框架codeigniter学习系列——CI_Security类学习
php优秀框架codeigniter学习系列——CI_Output类的学习
php优秀框架codeigniter学习系列——CI_Router类学习
My IELTS result has come out 我的雅思成绩出来了
Travel notes in Vietnam
asp.net学习
makefile简单学习
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
DAY2 Python的基础-2
DAY1--Python基础1
DAY1--python介绍
Java类集框架
网络编程
反射与类操作
认识反射机制
对象序列化
System类对IO的支持
打印流
热门文章
内存操作流
字符编码
File文件操作类
微信机器人sdk
微信二次开发SDK
微信开发sdk
微信个人号客服系统好友集中管理分配二次开发SDK
微信客服系统开发SDK使用教程-群发消息任务
微信客服系统开发SDK使用教程-发送朋友圈任务
微信客服系统开发SDK使用教程-主动添加好友任务
Copyright © 2011-2022 走看看