StackWalker एपीआई एक प्रोग्राम के निष्पादन के दौरान स्टैक ट्रेस में सूचना की एक धारा प्रदान करता है। इस API के लिए एक वर्चुअल मशीन . की आवश्यकता है संपूर्ण स्टैक का एक स्नैपशॉट कैप्चर करने के लिए और फ़िल्टरिंग उद्देश्यों के लिए तत्वों की एक सरणी देता है। हमें walk() . का उपयोग करके स्टैक फ़्रेम को छोड़ना, छोड़ना और सीमित करना होगा तरीका। हम पहला मिलान करने वाला फ़्रेम प्राप्त करने के लिए एक स्टैक फ़्रेम को वर्ग द्वारा फ़िल्टर कर सकते हैं, और सभी मिलान फ़्रेम को फ़िल्टर () का उपयोग करके फ़िल्टर कर सकते हैं। विधि।
नीचे दिए गए उदाहरण में, हम StackWalker API का उपयोग करके स्टैक फ़्रेम को फ़िल्टर कर सकते हैं।
उदाहरण
आयात करें फ़िल्टर क्लासेस =नया ऐरेलिस्ट <> (); filterClasses.add (StackWalkerFilterTest.class); System.out.println ("--- क्लास द्वारा फ़िल्टर फ़्रेम>> पहला मिलान फ़्रेम प्राप्त करें ---"); वैकल्पिकआउटपुट
---फ़िल्टर फ़्रेम बाय क्लास>> पहले मैचिंग फ्रेम प्राप्त करें ---Optional[StackWalkerTest.findFrameByClass(StackWalkerTest.java:20)]--- फ़िल्टर फ़्रेम को क्लास के अनुसार>> सभी मिलते-जुलते फ़्रेम प्राप्त करें -- -[StackWalkerTest.findAllFramesByClass(StackWalkerTest.java:23), StackWalkerTest2.main(StackWalkerTest.java:15)]