Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा 9 में वर्तमान थ्रेड के सभी स्टैक फ्रेम कैसे प्रदर्शित करें?


स्टैक वॉकिंग API कॉल स्टैक से जानकारी निकालने और निकालने के लिए एक लचीला तंत्र प्रदान कर सकता है जो हमें आलसी तरीके से फ्रेम को फ़िल्टर और एक्सेस करने की अनुमति देता है। स्टैकवॉकर क्लास स्टैक वॉकिंग एपीआई का प्रवेश बिंदु है। स्टैक ट्रेस एक कॉल स्टैक . का प्रतिनिधित्व है k एक निश्चित समय पर जिसमें प्रत्येक तत्व एक विधि . का प्रतिनिधित्व करता है आह्वान . इसमें एक थ्रेड की शुरुआत से लेकर उसके जनरेट होने तक सभी इनवोकेशन शामिल हैं।

नीचे दिए गए उदाहरण में, हम StackWalker API का उपयोग करके मौजूदा थ्रेड के सभी स्टैक फ़्रेम को प्रिंट/डिस्प्ले कर सकते हैं।

उदाहरण

आयात करें ) अपवाद फेंकता है {विधि test1Method =Helper1.class.getDeclaredMethod ("टेस्ट 1", (कक्षा []) शून्य); test1Method.invoke (शून्य, (ऑब्जेक्ट []) शून्य); }}// हेल्पर1 वर्ग क्लास हेल्पर 1 {संरक्षित स्थिर शून्य परीक्षण 1 () { हेल्पर 2. टेस्ट 2 (); }}// Helper2 वर्ग वर्ग हेल्पर 2 { संरक्षित स्थैतिक शून्य परीक्षण 2 () { सूची<स्टैकफ्रेम स्टैक =StackWalker.getInstance().walk ((ओं) -> एस.एकत्र करें (कलेक्टर.toList ())); for(StackFrame फ्रेम:स्टैक) { System.out.println (फ्रेम।getClassName() + " " + फ्रेम।getLineNumber() + " " + फ्रेम।getMethodName() ); } }}

आउटपुट

Helper2 23 test2Helper1 16 test1StackWalkerTest 9 main 

  1. जावा में स्क्रीन के केंद्र में जेएफआरएएम कैसे प्रदर्शित करें?

    A JFrame फ़्रेम . का उपवर्ग है वर्ग और एक फ्रेम में जोड़े गए घटकों को इसकी सामग्री के रूप में संदर्भित किया जाता है, इन्हें contentPane द्वारा प्रबंधित किया जाता है . हम JFrame में इसके contentPane . का उपयोग करने के लिए घटकों को जोड़ सकते हैं बजाय . JFrame एक विंडो . की तरह है बॉर्डर, शीर्षक और

  1. जावा में स्विंगवर्कर वर्ग का क्या महत्व है?

    एक स्विंगवर्कर वर्ग हमें एक एसिंक्रोनस . करने में सक्षम बनाता है कार्य वर्कर थ्रेड में (जैसे कि लंबे समय तक चलने वाला कार्य) फिर इवेंट डिस्पैच थ्रेड (EDT से स्विंग घटकों को अपडेट करें। ) कार्य परिणामों के आधार पर। इसे Java 1.6 संस्करण . में पेश किया गया था स्विंगवर्कर वर्ग द java.swing.SwingWor

  1. जावा में स्विंग यूटिलिटीज क्लास का क्या महत्व है?

    जावा में, स्क्रीन पर प्रदर्शित होने वाले स्विंग घटकों के बाद, उन्हें केवल एक थ्रेड द्वारा संचालित किया जा सकता है जिसे इवेंट हैंडलिंग थ्रेड कहा जाता है . हम अपना कोड एक अलग ब्लॉक में लिख सकते हैं और इस ब्लॉक को ईवेंट . का संदर्भ दे सकते हैं हैंडलिंग धागा . स्विंग यूटिलिटीज कक्षा में दो महत्वपूर्ण