方法代碼片段存在哪裏?方法執行的時候執行過程的內存在哪裏分配?
- 方法代碼片段屬於.class字節碼文件的一部分,字節碼文件在類加載的時候,將其放到了方法區當中,所以JVM中的三塊主要的內存空間中方法區內存最先有數據,存放了代碼片段。調用時,會在棧內存給其分配空間,發生壓棧動作,方法結束後會將內存空間全部釋放,彈棧。
方法重載
- 解決方法功能相同,但數據類型不同的情況。
- 方法名相同,形參個數或形參類型都可以不同。
- 方法重載跟返回類型和修飾符無關,只和參數有關。
遞歸算法
- 自己調用自己,會在棧內存裏不斷開闢空間,所以遞歸很耗內存,如果沒有遞歸出口,算法會一直執行下去,直到棧溢出,使JVM停止工作。所以用遞歸算法一定要遞歸出口。