ホームページ  >  記事  >  Java  >  Java 9 では、StackWalker.getCallerClass() メソッドはいつ使用できますか?

Java 9 では、StackWalker.getCallerClass() メソッドはいつ使用できますか?

王林
王林転載
2023-09-08 08:45:12764ブラウズ

在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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。