zoukankan      html  css  js  c++  java
  • 关于Thread.getStrackTrace

    关于Thread.getStrackTrace

    说明文档:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P1hsEKC4-1587998893106)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20200418104635344.png)]

    即返回当前线程的堆栈元素

    例:

    public static void main(String[] args) {
        StackTraceElement[] stackTraceElements=Thread.currentThread().getStackTrace();
        System.out.println("The stackTraceElements length:"+stackTraceElements.length);
        for(int i=0;i<stackTraceElements.length;i++){
            System.out.println("
    ---the  "+i+"  element"+"---");
            System.out.println("toString:"+stackTraceElements[i].toString());
            System.out.println("ClassName:"+stackTraceElements[i].getClassName());
            System.out.println("FileName:"+stackTraceElements[i].getFileName());
            System.out.println("LineNumber:"+stackTraceElements[i].getLineNumber());
            System.out.println("MethodName:"+stackTraceElements[i].getMethodName());
        }
        printStackInfos();
    }
    private static void printStackInfos(){
        StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
        System.out.println("
    Called in printStackInfos() method!!!");
        System.out.println("The stackTraceElements length:"+stackTraceElements.length);
        for(int i =0;i<stackTraceElements.length;i++){
            System.out.println("
    ---the  "+i+"  element"+"---");
            System.out.println("toString:"+stackTraceElements[i].toString());
            System.out.println("ClassName:"+stackTraceElements[i].getClassName());
            System.out.println("FileName:"+stackTraceElements[i].getFileName());
            System.out.println("LineNumber:"+stackTraceElements[i].getLineNumber());
            System.out.println("MethodName:"+stackTraceElements[i].getMethodName());
        }
         
    }
    

    输出:

    The stackTraceElements length:2
     
    ---the  0  element---
    toString:java.lang.Thread.getStackTrace(Thread.java:1567)
    ClassName:java.lang.Thread
    FileName:Thread.java
    LineNumber:1567
    MethodName:getStackTrace
     
    ---the  1  element---
    toString:Exchange.main(Exchange.java:10)
    ClassName:Exchange
    FileName:Exchange.java
    LineNumber:10
    MethodName:main
     
    Called in printStackInfos() method!!!
    The stackTraceElements length:3
     
    ---the  0  element---
    toString:java.lang.Thread.getStackTrace(Thread.java:1567)
    ClassName:java.lang.Thread
    FileName:Thread.java
    LineNumber:1567
    MethodName:getStackTrace
     
    ---the  1  element---
    toString:Exchange.printStackInfos(Exchange.java:24)
    ClassName:Exchange
    FileName:Exchange.java
    LineNumber:24
    MethodName:printStackInfos
     
    ---the  2  element---
    toString:Exchange.main(Exchange.java:20)
    ClassName:Exchange
    FileName:Exchange.java
    LineNumber:20
    MethodName:main
    

    即当调用该函数时:main方法最先入方法栈,然后是printStackInfos,最后是

    getStackTrace

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Vf3taUo-1587998893107)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20200418105436296.png)]

    因为我喜欢追寻过程中的自己
  • 相关阅读:
    part11-1 Python图形界面编程(Python GUI库介绍、Tkinter 组件介绍、布局管理器、事件处理)
    part10-3 Python常见模块(正则表达式)
    Cyclic Nacklace HDU
    模拟题 Right turn SCU
    状态DP Doing Homework HDU
    Dp Milking Time POJ
    区间DP Treats for the Cows POJ
    DP Help Jimmy POJ
    Dales and Hills Gym
    Kids and Prizes Gym
  • 原文地址:https://www.cnblogs.com/IzuruKamuku/p/14359786.html
Copyright © 2011-2022 走看看