Hallo zusammen,
ich habe versucht, einen eleganten Weg zu finden, heraus zu bekommen, 'von wem ich aufgerufen wurde'..Ich bin in einer Methode und möchte wissen, von wo sie aufgerufen wurde(Welche Klasse, welche Methode).
Bisschen im Netz gesucht und ausprobiert, bin ich auf die Lösung StackTrace gekommen:
Das Array kann man halt durchlaufen, '0' ist die aktuelle Methode, '1' der Aufrufer.
Nun die Frage:
'Kostet' das was?
Also weiß wer, ob die getStackTrace() Methode 'aufwendige' Schritte durchlaufen muss oder sonst wie viel kostet ?
Gibt es andere elegante Varianten an die benötigten Informationen(Wer ruft mich auf) zu kommen, ohne eine Referenz zu übergeben?
Vielleicht hat ja schon wer Erfahrung mit diesem Konstrukt.
Weiß auch wer, wie sich diese Methode im Bezug auf Threads verhält?
Ist zwar jetzt etwas OT, aber die Frage schießt mir gerade so in den Kopf. Ist in einem Multithread System diese Art der Lösung noch praktikabel ?
MFG
Patrick
ich habe versucht, einen eleganten Weg zu finden, heraus zu bekommen, 'von wem ich aufgerufen wurde'..Ich bin in einer Methode und möchte wissen, von wo sie aufgerufen wurde(Welche Klasse, welche Methode).
Bisschen im Netz gesucht und ausprobiert, bin ich auf die Lösung StackTrace gekommen:
Java:
Throwable t = new Throwable();
StackTraceElement[] stacktrace = t.getStackTrace();
Nun die Frage:
'Kostet' das was?
Also weiß wer, ob die getStackTrace() Methode 'aufwendige' Schritte durchlaufen muss oder sonst wie viel kostet ?
Gibt es andere elegante Varianten an die benötigten Informationen(Wer ruft mich auf) zu kommen, ohne eine Referenz zu übergeben?
Vielleicht hat ja schon wer Erfahrung mit diesem Konstrukt.
Weiß auch wer, wie sich diese Methode im Bezug auf Threads verhält?
Ist zwar jetzt etwas OT, aber die Frage schießt mir gerade so in den Kopf. Ist in einem Multithread System diese Art der Lösung noch praktikabel ?
MFG
Patrick
Zuletzt bearbeitet: