搜索

java的栈是属于实例还是方法 ?

gecimao 发表于 2019-05-09 08:20 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  只有一个栈区,但是会每个方法里面用到的变量都不会重复的,也就是栈区里面会存放2个方法所需要的临时变量

  展开全部栈是存放引用的,产生的两个对象的真实值是存在堆里的,栈只存这两个对象的引用,也就是地址

  追问我想问的是递归的方法内的局部变量和引用是在一个栈内还是分别在两个栈内追答一个应用,在内存中分配一个栈,除非你的递归逆天了,能跑出这个应用???所以,在同个应用中的所有变量都在同个栈中。不管递归创建多少对象,都在同个栈中。

  ******不管哪一级都是压入一个栈中Java中内存分为四块:栈,堆。静态区和代码区栈区(stack segment)又叫堆栈,用来存放方法的参数值和局部变量。

  递归调用(方法执行时调用本身)由栈实现,调用时不断嫁女形参压入栈,就一个栈,栈的开销很大,容易造成栈溢出(又叫泄露)所以递归一定要给结束条件return,避免栈泄露例:f(n)=f(n-1)+f(n-2),不断将形参n-1 n-2压入一块栈中

本文链接:http://windsorflowers.net/diguilicheng/184.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部