Tooling متوسط

افحص إطارات المكدس بصورة كسولة باستخدام StackWalker بدلاً من إنشاء تتبّع مكدس كامل.

✕ Materialized stack trace
StackTraceElement caller = Thread.currentThread()
        .getStackTrace()[2];
String callerClass = caller.getClassName();
✓ Java 9+
String callerClass = StackWalker.getInstance()
        .walk(frames -> frames.skip(1)
                .findFirst()
                .orElseThrow()
                .getClassName());
هل ترى مشكلة في هذا الكود؟ أخبرنا.
⚡

اجتياز كسول

يزور فقط الإطارات التي تحتاجها العملية.

🧩

ملائم للتدفقات

تستخدم التصفية والاختيار عمليات التدفق القياسية.

🎛

قابل للتهيئة

تدعم الخيارات مراجع الفئات والإطارات المخفية أو الانعكاسية.

الأسلوب القديم
Thread.getStackTrace()
الأسلوب الحديث
StackWalker
منذ JDK
9
الصعوبة
متوسط
فحص المكدس بصورة كسولة باستخدام StackWalker
متاح

متاح على نطاق واسع منذ JDK 9 (سبتمبر 2017)

يتيح StackWalker تدفقاً كسولاً لإطارات المكدس ووصولاً قابلاً للتهيئة إلى مراجع الفئات المحتفظ بها. يمكن للشيفرة التوقف بمجرد العثور على الإطار المطلوب بدلاً من تخصيص مصفوفة كاملة لتتبّع المكدس.