Điều này trông giống như một câu hỏi ngớ ngẩn nhưng tôi thấy rất khó để có được nó đúng. Tôi đã hỏi những người khác nhau nhưng không thể có được một câu trả lời lý tưởng.Điều gì xảy ra sau khi một phương thức được gọi trong Java
Tôi muốn biết điều gì xảy ra sau khi chúng tôi gọi một phương thức bình thường trong Java (Được cung cấp trong môi trường luồng đơn).
sự hiểu biết của tôi là:
- Tất cả stack biến hiện nay đang poped-up và lưu trữ ở đâu (ở đâu?)
- Phương pháp cuộc gọi hiện tại ngừng
- Những lập luận của phương pháp mới gọi được đẩy vào ngăn xếp
- Mã phương thức chạy
- Sau khi phương thức chạy xong, ngăn xếp lại được làm trống và nội dung ngăn xếp cũ được khôi phục lại. (Điều gì đã xảy ra nếu hàm trả về một giá trị?).
- Mã tiếp tục bằng phương thức gọi.
Đây là câu trả lời rất không đầy đủ và có thể sai. Ai đó có thể cung cấp mô tả chi tiết hơn không?
Rất cám ơn.
Tôi khá chắc chắn ngăn xếp không được dọn sạch, nếu không bạn sẽ không bao giờ nhận được StackOverflowException. – MightyPork
Các bước (1) và (5) của bạn không xảy ra. Và có thêm một bước nữa, đó là đẩy giá trị trả về của phương thức lên ngăn xếp (trừ khi nó không có giá trị). –
Đọc http://www.javaworld.com/jw-06-1997/jw-06-hood.html - tất cả đều được mô tả chi tiết. –