Principe de fonctionnement
1. Les cadres de pile contenus dans différents threads ne sont pas autorisés à se référencer les uns les autres.
2. Si la méthode actuelle appelle d'autres méthodes, lorsque la méthode revient, le cadre de pile actuel renverra le résultat de l'exécution de cette méthode à l'aiguille de pile actuelle et la machine virtuelle supprimera le cadre de pile actuel, créant ainsi la pile précédente. Le cadre redevient le cadre de pile actuel.
3. Les méthodes Java ont deux manières de renvoyer des fonctions.
L'un est un retour de fonction normal, utilisant l'instruction return ; l'autre consiste à lever une exception. Quelle que soit la méthode utilisée, le cadre de pile sera sauté.
Instances
public class StackFrameTest { public static void main(String[] args) { StackFrameTest stackFrameTest = new StackFrameTest(); stackFrameTest.method1(); } public void method1(){ System.out.println("method1()开始执行"); method2(); System.out.println("method1()执行结束"); } public int method2(){ System.out.println("method2()开始执行"); int i = 100; int m = (int)method3(); System.out.println("method2()即将结束"); return i + m; } public double method3(){ System.out.println("method3()开始执行"); double j = 3.1; System.out.println("method3()即将结束"); return j; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!