Heim  >  Artikel  >  Java  >  Wann können wir in Java 9 die Methode StackWalker.getCallerClass() verwenden?

Wann können wir in Java 9 die Methode StackWalker.getCallerClass() verwenden?

王林
王林nach vorne
2023-09-08 08:45:12765Durchsuche

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

Java 9 bietet eine effiziente Möglichkeit des Stack-Walkings für verzögerten Zugriff, indem die StackWalker-API zum Filtern von Stack-Traces verwendet wird. Das StackWalker -Objekt ermöglicht es uns, den Stapel zu durchlaufen und darauf zuzugreifen. Diese Klasse enthält einige nützliche Methoden wie walk(), forEach() und getCallerClass(). Die Methode

getCallerClass() gibt die Klasse zurück, die die Methode aufgerufen hat. Um die aufrufende Klasseninstanz zu erfassen, benötigen wir RETAIN_CLASS_REFERENCE beim Abrufen der StackWalker-Instanz. RETAIN_CLASS_REFERENCE Behält Instanzen aller von StackWalker durchlaufenen Klassen.

Syntax

<strong>public Class<?><!--?--> getCallerClass()</strong>

Beispiel

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>);
   }
}

Ausgabe

<strong>class StackWalkerTest1</strong>

Das obige ist der detaillierte Inhalt vonWann können wir in Java 9 die Methode StackWalker.getCallerClass() verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen