Home > Java > javaTutorial > body text

StackWalker API in Java 9?

PHPz
Release: 2023-09-11 13:21:08
forward
848 people have browsed it

Java 9中的StackWalker API?

StackWalker API Allows easy filtering and delayed access to perform tasks in any method. It is an efficient API in Java 9 for getting stack trace information.

Three important new classes have been added to the StackWalker API: StackWalker, StackWalker.StackFrame and StackWalker.Option.

StackWalker It is the main class in >StackWalker API. We use the StackWalker.forEach() method to traverse the stack frame and efficiently obtain the caller class by calling the StackWalker.getCallerClass() method. We use the StackWalker.walk() method to walk the stack trace and apply a function on the stack frame stream.

StackWalker.StackFrame It is a static nested class of StackWalker, which represents the method call return of StackWalker. It has methods to access the information of a given stack frame, such as getDeclaringClass(), getLineNumber(), etc.

StackWalker.Option - It is a static nested class of StackWalker. When we create an instance through SackWalker.getInstance(), Provides the stack walker with options to configure stack frame information.

Example

import java.util.List;
import java.util.stream.Collectors;
public class StackWalkingTest {
   public static void main(String args[]) {
      final <strong>List<StackWalker.StackFrame></strong> stack = StackWalker.<strong>getInstance()</strong>
      .<strong>walk</strong>(s -> s.<strong>collect</strong>(Collectors.toList()));
      for(<strong>StackWalker.StackFrame</strong> sf : stack) {
         System.out.println(sf.<strong>getClassName()</strong> + "::" + sf.<strong>getMethodName()</strong> + ":" + sf.<strong>getLineNumber()</strong>);
      }
   }
}
Copy after login

Output

<strong>StackWalkingTest::main:6</strong>
Copy after login

The above is the detailed content of StackWalker API in Java 9?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!