Професійний інтернет-залежний • Ігровий ентузіаст • Технічний творець
Професійний інтернет-залежний • Ігровий ентузіаст • Технічний творець

Як отримати метод, який викликав інший метод у Java

Як дізнатися, який метод викликав інший метод у Java!
Цю сторінку було перекладено з англійської мови моїми високо мотивованими стажерами зі штучного інтелекту для вашої зручності. Вони все ще навчаються, тому могли бути допущені деякі помилки. Для отримання найточнішої інформації, будь ласка, зверніться до англійської версії.
Дім Блог Як отримати метод, який викликав інший метод у Java

Зверніть увагу, що цей допис у блозі було опубліковано у жовтні 2010 року, тому залежно від того, коли ви його читаєте, деякі його частини можуть бути застарілими. На жаль, я не завжди можу повністю оновлювати ці дописи, щоб забезпечити точність інформації.

    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(); }

    Автор: Special Agent Squeaky. Вперше опубліковано 10.10.2010. Останнє оновлення 10.10.2010.

    📺 Перегляньте останнє відео від Squeaky!

    Як додати прості субтитри в режимі реального часу до вашого прямого ефіру