zoukankan
html css js c++ java
关于局部变量存放在栈区的问题
昨天在看jvm运行态数据存放区域的时候,看到他的栈区用于存放局部变量,突然有个问题,为啥局部变量要放在栈中。似乎之前学C的时候,C的局部变量也是放在栈中,当时学写汇编的时候似乎没有这方面的问题。
好吧,来整理下。产生这个问题的主要原因是,局部变量为啥要用栈结构来保存,因为觉得栈访问的时候会pop,这样的话就会将局部变量给弄没了,这不是懵逼了么。后来仔细想了想当时自己写OS的时候的想法,其实这里访问的时候只是用栈指针来进行访问,并不会pop这种。
因为局部变量的大小都是确定的,并且位置也是固定的,所以可以利用栈来保存,并且可以用栈指针来访问。并且,当函数退出的时候,这个函数栈也就失效了,这个栈就会自动删除,所以不需要人为的删除或者利用GC来回收。
查看全文
相关阅读:
使用国内镜像安装pyqt5
python线程池 ThreadPoolExecutor 的用法及实战
进程和线程、协程的区别
python线程池实现
python 多进程使用总结
参与开源项目
脑图——前端技术
HTML中DTD使用小结
浅谈面向对象——追溯法
Dva.js 里面的几个概念
原文地址:https://www.cnblogs.com/sunrye/p/6504867.html
最新文章
JS识记
TTS多音字问题
vb6 调用 64位应用程序
Updatepanel 注册javascript 方法
Updatepanel 注册javascript 方法
Delphi XE 10 真机调试错误提示:Can't bind address: Address already in use. Exiting.
[原创]Delphi XE 泛型 容器[1] Tlist<T>使用
Delphi 操作读取.dat类型文件内容
Delphi Socket常见错误代码与描述
Delphi XE 移动端错误弹框““Blocking dialogs not implemented on this platform””
热门文章
Delphi XE10 Android安卓 移动端 MessageDlg 用法
Delphi XE 跨平台(WINDOWS、ANDROID安卓、苹果MACOS、苹果IOS)写法
Delphi 字符串函数 StrPas和StrPCopy
Delphi 字符串类型 Char 和PChar
Delphi System.StrCopy 复制Char 字符串
linux下yum安装maven
linux系统修改为静态IP地址
Shiro自定义Realm
springboot 操作redis数据
Python中*args和**kwargs的区别
Copyright © 2011-2022 走看看