【转】java基础:动态存储方式与静态存储方式

动态存储方式

    所谓动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,调用函数完毕立即释放。如果一个函数被多次调用,则反复地分配、释放形参变量的存储单元。

静态存储方式

    所谓静态存储方式是指在程序编译期间分配固定的存储空间的方式。该存储方式通常是在变量定义时就分定存储单元并一直保持不变,直至整个程序结束。全局变量,静态变量等就属于此类存储方式。

内存中用户存储空间的分配情况(三种):

  • 程序区:存放程序语句
  • 静态存储区存放全局变量,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。
  • 动态存储区:
                  存放以下数据:
                          函数形式参数,在调用函数时给形参分配存储空间;
                          自动变量(未加static声明的局部变量)

                          函数调用时的现场保护和返回地址等。

                  对以上这些数据,在函数开始调用时分配动态存储空间,函数结束时释放这些空间。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值