কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ বর্তমান থ্রেডের সব স্ট্যাক ফ্রেম কীভাবে দেখাবেন?

Stack Walking API কল স্ট্যাক ট্রাভার্স ও ইনফরমেশন এক্সট্র্যাক্ট করার জন্য একটি ফ্লেক্সিবল মেকানিজম প্রদান করে যা লেজি ম্যানNER-এ ফ্রেম ফিল্টার ও অ্যাক্সেস করতে দেয়। StackWalker ক্লাস Stack Walking API-র এন্ট্রি পয়েন্ট। স্ট্যাক ট্রেস হলো একটি নির্দিষ্ট সময়ে কল স্ট্যাক-র রিপ্রেজেন্টেশন যেখানে প্রতিটি এলিমেন্ট একটি মেথড ইনভোকেশন রিপ্রেজেন্ট করে। এতে থ্রেড শুরু থেকে জেনারেট হওয়া পয়েন্ট পর্যন্ত সব ইনভোকেশন থাকে।

উদাহরণ: StackWalker API ব্যবহার করে বর্তমান থ্রেডের সব স্ট্যাক ফ্রেম প্রিন্ট করা

import java.lang.StackWalker.StackFrame;
import java.lang.reflect.Method;
import java.util.List;
import java.util.stream.Collectors;

public class StackWalkerTest {
    public static void main(String args[]) throws Exception {
        Method test1Method = Helper1.class.getDeclaredMethod("test1", (Class[])null);
        test1Method.invoke(null, (Object[]) null);
    }
}

// Helper1 class
class Helper1 {
    protected static void test1() {
        Helper2.test2();
    }
}

// Helper2 class
class Helper2 {
    protected static void test2() {
        List<StackFrame> stack = StackWalker.getInstance().walk(
            (s) -> s.collect(Collectors.toList()));
        for(StackFrame frame : stack) {
            System.out.println(frame.getClassName() + " " + frame.getLineNumber() + " " + frame.getMethodName());
        }
    }
}

আউটপুট

Helper2 23 test2
Helper1 16 test1
StackWalkerTest 9 main
  1. জাভাতে JFrame কে স্ক্রিনের সেন্টারে প্রদর্শন করুন

  2. জাভাতে SwingWorker ক্লাসের গুরুত্ব কী?

  3. জাভাতে SwingUtilities ক্লাসের গুরুত্ব কী?

  4. জাভাতে UncaughtExceptionHandler ব্যবহার করে এক্সেপশন কীভাবে হ্যান্ডেল করবেন?