1方法重载
把不同的方法名换成相同的,相应的参数列表也要为之改变
参数列表不同分为两种:类型不同或者个数不同
可以实现相同功能只需要记住一个方法 看起来比较美观
2 内存划分
java运行时数据区域一般叫JVM内存
分为五大块
1 静态区/方法区 2 VM栈 3 堆内存 4 程序计数器 5 本地方法栈
*静态区 保存我们的class文件 方法被调用之前也保存在静态区 想要调用其他类也需要先放在静态区
*VM栈 :又叫栈内存,用来执行方法
栈空间:就是以栈数据结构为模型创建的内存空间
栈帧:栈空间中的元素
栈底元素:第一个放进去的栈帧
栈顶元素:最后一个放进去的栈帧
栈操作:
压栈:就是指向栈空间中添加栈帧的过程
弹栈: 把栈帧从栈空间弹出
*堆内存:用来保存对象
*程序计数器:不管是分支还是循环,指当前执行到哪儿了
*本地方法栈:
执行本地方法,使用native修饰
3 执行流程:
a. javac编译 生成class文件
b.运行 b.1 开启java虚拟机,然后把class文件放入静态区
b.2 载入之后,JVM自动调用main方法,然后在栈内存开辟main方法栈帧,开始执行
b.3 如果main方法中没有其他方法调用,则执行完结束,销毁即可
b.4 如果main方法中有其他方法调用,把其他类中的方法也放入静态区,然后调用该方法 b.5 如果是当前类的方法,直接在栈内存继续压栈,知道最后一个压栈的方法执行完,弹栈,再依次返回调用处继续执行,如果被调用方法中还有别的方法调用的话,也是一直压栈,直到main方法执行完,程序销毁。
4 递归
在方法体中,自己调用自己
递归和迭代是等价的 所以三要素:初始值,终止条件,步长
计算1~n的偶数和并返回:
斐波那契数列



