1. // 返回表示此线程的堆栈转储的堆栈跟踪元素数组。
    2. // 如果此线程尚未启动、已启动但尚未被系统安排运行或已终止,则此方法将返回一个零长度数组。
    3. // 如果返回的数组长度不为零,则数组的第一个元素表示堆栈的顶部,这是序列中最近的方法调用。
    4. // 数组的最后一个元素代表堆栈的底部,它是序列中最近的方法调用。
    5. StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
    6. // 角标为2的为最近调用方
    7. StackTraceElement stackTraceElement = stackTrace[2];
    8. String className = stackTraceElement.getClassName();
    9. System.out.println("调用方的类名" + className);
    10. String methodName = stackTraceElement.getMethodName();
    11. System.out.println("调用方的方法名称" + methodName);
    12. String fileName = stackTraceElement.getFileName();
    13. System.out.println("调用否的文件名" + fileName);