方法代码片段存在哪里?方法执行的时候执行过程的内存在哪里分配?
- 方法代码片段属于.class字节码文件的一部分,字节码文件在类加载的时候,将其放到了方法区当中,所以JVM中的三块主要的内存空间中方法区内存最先有数据,存放了代码片段。调用时,会在栈内存给其分配空间,发生压栈动作,方法结束后会将内存空间全部释放,弹栈。
方法重载
- 解决方法功能相同,但数据类型不同的情况。
- 方法名相同,形参个数或形参类型都可以不同。
- 方法重载跟返回类型和修饰符无关,只和参数有关。
递归算法
- 自己调用自己,会在栈内存里不断开辟空间,所以递归很耗内存,如果没有递归出口,算法会一直执行下去,直到栈溢出,使JVM停止工作。所以用递归算法一定要递归出口。