栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

接上个博客方法、重载、递归

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接上个博客方法、重载、递归

1.入参和出参
入参:做这件事 需要的未知条件
出参:做完事后需要进行的反馈
2.方法重载(overload)
定义:方法名相同,参数列表不同。 其中列表不同分为:个数不同和类型不同
方法具有唯一性:方法名和参数
3.内存划分:

Java Runtime Data Area : java运行时区域,一般叫JVM内存
*

  • 程序计数器 :
  •  	一块较小的内存区域.作用可以看做是当前程序执行的位置指示器
    
  • 静态区/方法区 :
  •  	保存程序文件(class文件) 以及静态数据,方法被调用之前,也保存在静态区,内部还有运行时常量池
    
  • VM栈 : 又叫栈内存
  •  	栈内存是以栈数据结构为模型开辟的一段空间, 特性是先进后出
    
  •  	栈 : 是一种数据结构,先进后出,像弹夹
    
  • 栈的构成因素
  •  栈空间 : 栈内存就是栈空间
    
  •  栈帧	: 栈空间中的每一个栈元素 就叫栈帧(比如 弹夹中的每一个子弹 就叫栈帧)
    
  •  栈底元素 : 第一个放进去的栈帧
    
  •  栈顶元素  : 最后一个放进去的栈帧
    
  • 栈操作
  •  压栈 : 就是指把元素放入栈空间的过程
    
  •  弹栈 : 就是把元素弹出去的过程
    
  • 栈内存,是用来执行方法的,所有方法的执行,必须在栈内存进行
  • 本地方法栈 :
  •  用来执行一些本地方法,比如hashCode 等 , 模型和操作都和VM栈一致 , 不用管,
    
  • 堆内存 :
  •  	用来保存对象
    

4.递归
定义:方法中调用当前方法
递归思想: a.递归和迭代是等价的 就是循环 b.基本思想就是依次类推
应用场景: 循环能做的,递归都能做,但是这种情况优先使用循环,应为递归非常消耗内存,运行效率低;但是 像树结构之类的,循环是没法做的,只能通过递归来搞定

常见的递归应用场景:所以树状结构;文件夹复制;斐波那契数列
难点:不容易理解递归思想,画图,栈帧调用图
注意:必须有终止条件,否则就等于死循环一样,导致一直压栈不会弹栈而出现栈内存溢出问题
5.斐波那契数列:就是指从第三项开始每一项就是前两项的和 即f(n)=f(n-1)+f(n-2) (n>2)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号