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

जावा 9 में स्टैकफ्रेम के प्रतिबिंब फ्रेम कैसे दिखाएं?


Java 9 में java.lang.StackWalker का उपयोग करके एक मानक API प्रदान किया गया है कक्षा। आलसी पहुंच . की अनुमति देकर कुशल होने के लिए डिज़ाइन किया गया यह वर्ग ढेर फ्रेम के लिए। कुछ अन्य विकल्प स्टैक ट्रेस में अनुमति देते हैं जिसमें कार्यान्वयन और/या प्रतिबिंब फ़्रेम . शामिल हैं , और यह डिबगिंग उद्देश्यों के लिए उपयोगी हो सकता है। उदाहरण के लिए, हम SHOW_REFLECT_FRAMES . जोड़ते हैं निर्माण पर स्टैकवॉकर इंस्टेंस का विकल्प, ताकि प्रतिबिंबित विधियों के फ्रेम भी मुद्रित हों।

नीचे दिए गए उदाहरण में, हम StackFrame के प्रतिबिंब फ़्रेम दिखा सकते हैं

उदाहरण

आयात करें .stream.Collectors;पब्लिक क्लास रिफ्लेक्शनफ्रेमटेस्ट {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args[]) NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { विधि फेंकता है test1Method =Test1.class.getDeclaredMethod ("टेस्ट 1", (कक्षा []) शून्य); test1Method.आह्वान (शून्य, (वस्तु []) शून्य); }}कक्षा टेस्ट1 {संरक्षित स्थैतिक शून्य परीक्षण1() { Test2.test2(); }}कक्षा टेस्ट2 { संरक्षित स्थैतिक शून्य परीक्षण2() { //प्रतिबिंब विधियां दिखाएं सूची स्टैक =StackWalker.getInstance (विकल्प.SHOW_REFLECT_FRAMES ).वॉक ((एस) -> एस. कलेक्ट (कलेक्टर.toList ())); for(StackFrame फ्रेम:स्टैक) { System.out.println (फ्रेम।getClassName() + " " + फ्रेम।getLineNumber() + " " + फ्रेम।getMethodName() ); } }}

आउटपुट

Test2 22 test2Test1 16 test1jdk.internal.reflect.NativeMethodAccessorImpl -2 invoke0jdk.internal.reflect.NativeMethodAccessorImpl 62 इनवोकjdk.internal.reflect.DelegatingMethodAccessorImpl 43 इनवोकजावा.लैंग। 

  1. हम जावा में JTextField में पैडिंग कैसे जोड़ सकते हैं?

    A JTextField JTextComponent . का उपवर्ग है वर्ग और यह सबसे महत्वपूर्ण घटकों में से एक है जो उपयोगकर्ता को एकल-पंक्ति प्रारूप में टेक्स्ट मान इनपुट करने की अनुमति देता है . एक JTextField वर्ग एक एक्शन लिस्टनर generate उत्पन्न करेगा इंटरफ़ेस जब हम इसके अंदर कुछ इनपुट दर्ज करने का प्रयास करते हैं। J

  1. जावा में सदस्य आंतरिक वर्ग को कैसे चालू करें?

    एक वर्ग जो एक वर्ग के अंदर लेकिन एक विधि के बाहर घोषित किया जाता है, उसे सदस्य आंतरिक वर्ग . के रूप में जाना जाता है । हम एक सदस्य की इनर क्लास को दो तरह से इंस्टेंट कर सकते हैं कक्षा में आमंत्रित किया गया कक्षा के बाहर आमंत्रित किया गया आंतरिक कक्षा के लिए नियम बाहरी वर्ग (आंतरिक वर्ग वाला वर

  1. जावा में उप-पैकेज का उपयोग कैसे करें?

    उप-पैकेज उप-निर्देशिकाओं के समान हैं। एक उदाहरण पर विचार करें। कंपनी के पास एक com.apple.computers पैकेज था जिसमें एक Dell.java स्रोत फ़ाइल थी, यह इस तरह की उपनिर्देशिकाओं की एक श्रृंखला में समाहित होगी - ....\com\apple\computers\Dell.java संकलन के समय, कंपाइलर प्रत्येक वर्ग, इंटरफ़ेस और उसमें परिभा