Saiyine
Punto Com

Jerarquia de llamada en Java

2007-10-20 06:37:48

Con el siguiente código podreis conocer la jerarquia de llamada de vuestro código en tiempo de ejecución, con la única limitación de que solo funciona a partir de Java 5:

public class Llamadas
{
        static public void fin()
        {
                StackTraceElement trace[] = Thread.currentThread().getStackTrace();
                for (StackTraceElement St : trace)
                {
                        System.out.println(St);
                }
        }
       
        static public void salto()
        {
                fin();
        }
       
        public static void main(String[] args)
        {
                salto();
        }
}

Deberia devolver algo como...

java.lang.Thread.getStackTrace(Unknown Source)
pruebas.Llamadas.fin(Llamadas.java:7)
pruebas.Llamadas.salto(Llamadas.java:16)
pruebas.Llamadas.main(Llamadas.java:21)

El programa es extremadamente sencillo: la clase principal llama al método salto, que a su vez llama al método fin, que es el que contiene la llamada a getStackTrace, que es ni más ni menos que la pila de llamadas de subrutina.

Rollos antiguos

2007-10-20 05:47:16 - The time of your life.

2007-10-02 07:24:23 - What if people bought cars like they buy computers?.

2007-09-29 07:08:11 - Alien vs Predator: Requiem.

2007-08-28 09:13:29 - El puto amo.

2007-08-24 10:08:42 - Frases de los Simpsons.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.