zoukankan      html  css  js  c++  java
  • 【Java学习】追踪

    获取类名的方法  

    Java 中获取类名的方式主要有以下三种。

      getName()返回的是虚拟机里面的class的类名表现形式。
      getCanonicalName()返回的是更容易理解的类名表示。
      getSimpleName()返回的是类的简称。
      都有什么区别?
      通过一个实例来看下它们主要的区别。





      程序输出以下结果。


      [Lcom.test.TestClass$TestInnerClass;值得说明一下。
      这是一种对函数返回值和参数的编码,叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。
      [表示数组,一个代表一维数组,比如[[代表二维数组。之后L代表类描述符,最后;表示类名结束。
      结论
      1、从以上结果可以看出 getName() 和 getCanonicalName() 在获取普通类名的时候没有区别,在获取内部类和数组类有区别的。
      2、getSimpleName() 在获取普通类和内部类名的时候没区别,在获取数组类的时候有区别。

    获取线程名:

    new  Thread().getName

    获取堆栈跟踪

    Thread.currentThread().getStackTrace()[1].

    存在如下方法:

          

  • 相关阅读:
    《代码阅读方法与实践》阅读笔记之二
    《代码阅读方法与实践》阅读笔记一
    专业实训题目需求分析
    阅读计划
    第二阶段Sprint10
    第二阶段Sprint9
    第二阶段Sprint8
    第二阶段Sprint7
    第二阶段个人工作总结(8)
    第二阶段个人工作总结(7)
  • 原文地址:https://www.cnblogs.com/gtea/p/13696953.html
Copyright © 2011-2022 走看看