Rumah  >  Artikel  >  Java  >  API StackWalker dalam Java 9?

API StackWalker dalam Java 9?

PHPz
PHPzke hadapan
2023-09-11 13:21:08830semak imbas

Java 9中的StackWalker API?

StackWalker API membenarkan penapisan mudah dan akses tertunda untuk melaksanakan tugas dalam sebarang kaedah. Ia adalah API yang cekap dalam Java 9 untuk mendapatkan maklumat surih tindanan.

Tiga kelas baharu yang penting telah ditambahkan pada API StackWalker: StackWalker, StackWalker.StackFrame dan StackWalker.Option.

StackWalker Ia adalah kelas utama dalam >StackWalker API. Kami menggunakan kaedah StackWalker.forEach() untuk melintasi bingkai tindanan dan mendapatkan kelas pemanggil dengan cekap dengan memanggil kaedah StackWalker.getCallerClass(). Kami menggunakan kaedah StackWalker.walk() untuk menjalankan jejak tindanan dan menggunakan fungsi pada strim bingkai tindanan.

StackWalker.StackFrame Ia ialah kelas bersarang statik StackWalker, yang mewakili pengembalian panggilan kaedah StackWalker. Ia mempunyai kaedah untuk mengakses maklumat bingkai tindanan yang diberikan, seperti getDeclaringClass(), getLineNumber(), dsb. .

Contoh

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>);
      }
   }
}
Output
<strong>StackWalkingTest::main:6</strong>

Atas ialah kandungan terperinci API StackWalker dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam