首页 > Java > java教程 > 在Java 9中,我们什么时候可以使用StackWalker.getCallerClass()方法?

在Java 9中,我们什么时候可以使用StackWalker.getCallerClass()方法?

王林
发布: 2023-09-08 08:45:12
转载
823 人浏览过

在Java 9中,我们什么时候可以使用StackWalker.getCallerClass()方法?

Java 9 为延迟访问提供了一种有效的堆栈遍历方式,使用 StackWalker API 过滤堆栈跟踪。 StackWalker 的对象可以让我们遍历以及对堆栈的访问。此类包含一些有用的方法,例如 walk()forEach()getCallerClass()

getCallerClass() 方法返回调用该方法的类。为了掌握调用类实例,我们在获取 StackWalker 实例时需要 RETAIN_CLASS_REFERENCE RETAIN_CLASS_REFERENCE 保留 StackWalker 遍历的所有类的实例。

语法

<strong>public Class<?><!--?--> getCallerClass()</strong>
登录后复制

示例

import java.lang.StackWalker.Option;

public class StackWalkerTest {
   public static void main(String args[]) {
      StackWalkerTest1.test1();
   }
}

class StackWalkerTest1 {
   protected static void test1() {
      StackWalkerTest2.test2();
   }
}

class StackWalkerTest2 {
   protected static void test2() {
      System.out.println(<strong>StackWalker.getInstance</strong>(<strong>Option.RETAIN_CLASS_REFERENCE</strong>).<strong>getCallerClass()</strong>);
   }
}
登录后复制

输出

<strong>class StackWalkerTest1</strong>
登录后复制

以上是在Java 9中,我们什么时候可以使用StackWalker.getCallerClass()方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板