一、方法的重载(overload)

一、什么是方法的重载

在同一个类中方法名相同参数列表不同参数个数不同算不同参数类型不同算不同参数顺序不同算不同
只要同时满足上面三个条件,那么我们就可以认定方法之间发生了重载机制,注:
方法重载和方法的返回值类型无关
方法重载和方法的修饰符列表无关
二、方法执行时的内存变化

一、JVM主要三块内存空间

方法区:最先有数据,存放代码片段,存放class字节码文件;堆内存:这里先卖个关子,后面博客会补上的;栈内存:方法调用的时候,该方法需要的内存空间在栈中分配,方法不调用时是不会在栈中分配空间的;
注:这只是主要三块内存空间,除了这三块还有其他的。

二、关于栈的数据结构(如图)

由于方法调用时所需要的内存空间在栈中分配,因此这里需要简单的了解一下栈的数据结构;
数据结构是存储数据的容器,而该容器在存储数据时存在着不同的结构,栈就是其中一种结构:
栈存储数据的特点:先进后出,后进先出;栈存储的是方法运行过程中需要的内存,以及栈中会存储方法的局部变量;方法只有在调用的时候才会在栈中分配内存,此时成为:压栈;方法在执行结束之后,该方法所需要的空间就会释放,此时称为:弹栈;

三、方法执行过程内存变化(用以下代码演示)

代码图
2. 运行结果
3. 内存变化图
三、方法的递归