Profesionální internetový závislák • Herní nadšenec • Technologický tvůrce
Profesionální internetový závislák • Herní nadšenec • Technologický tvůrce

Získání volání metody v Javě

Jak získat volajícího metody v Javě!
Tuto stránku pro vaše pohodlí přeložili z angličtiny moji vysoce motivovaní stážisté v oblasti umělé inteligence. Stále se učí, takže se mohlo stát, že se vyskytnou nějaké chyby. Nejpřesnější informace naleznete v anglické verzi.
Domov Blog Získání volání metody v Javě

Vezměte prosím na vědomí, že tento blogový příspěvek byl publikován v říjnu 2010, takže v závislosti na době, kdy jej čtete, mohou být některé části zastaralé. Bohužel nemohu tyto příspěvky vždy udržovat plně aktuální, aby informace zůstaly přesné.

    In some situations it could be handy to figure out who called a specific method at runtime, especially when a specific method is used by hundreds of methods and you have no clue how to recreate the execution.
    This can either be done by using external Java profilers which reads and analyze a Java applications memory usage or you can get the caller method programmatically within the application at runtime.
    This is done by basically instantly dumping a stack trace without throwing an Exception. However dumping the stack trace (with or without creating an Exception) has a huge performance cost and should really only be done at temporarily special circumstances.
    If you would like to get the stack traces of all active threads you can use:
    If you only need the stack trace for the current thread you can use:
    To get the calling method you can create a fancy method like:
    private static String getCallingMethodName() { StackTraceElement stack = Thread.currentThread().getStackTrace()[3]; return stack.getClassName() + "." + stack.getMethodName(); }

    Napsal(a) Special Agent Squeaky. Poprvé publikováno 10. 10. 2010. Naposledy aktualizováno 10. 10. 2010.

    📺 Podívejte se na nejnovější video od Squeakyho!

    Jak přidat jednoduché titulky v reálném čase k vašemu živému vysílání