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.
<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>
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!