Une pile obéit au principe de « premier entré, dernier sorti ». En Java, la règle StackTrace dit : Rappelle-toi que la dernière fonction appelée est la première à se terminer. Autrement dit, si la fonction A appelle la fonction B, qui appelle la fonction C, qui appelle la fonction D, alors le retour de la fonction B exige que nous terminions d'abord la fonction C, ce qui exige que nous terminions d'abord la fonction D.