কম্পিউটার

কিভাবে জাভা 9 এ বর্তমান থ্রেডের সমস্ত স্ট্যাক ফ্রেম প্রদর্শন করবেন?


স্ট্যাক ওয়াকিং API৷ কল স্ট্যাকগুলি থেকে তথ্য বের করতে এবং বের করার জন্য একটি নমনীয় প্রক্রিয়া প্রদান করতে পারে যা আমাদের অলসভাবে ফ্রেমগুলিকে ফিল্টার করতে এবং অ্যাক্সেস করতে দেয়। স্ট্যাকওয়াকার ক্লাস স্ট্যাক ওয়াকিং API-এর একটি এন্ট্রি পয়েন্ট। স্ট্যাক ট্রেস হল একটি কল স্ট্যাকের প্রতিনিধিত্ব k একটি নির্দিষ্ট সময়ে যেখানে প্রতিটি উপাদান একটি পদ্ধতি উপস্থাপন করে আমন্ত্রণ . এটিতে একটি থ্রেডের শুরু থেকে এটি তৈরি হওয়া পর্যন্ত সমস্ত আহ্বান রয়েছে৷

নীচের উদাহরণে, আমরা 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. জাভাতে সুইং ওয়ার্কার ক্লাসের গুরুত্ব কী?

  3. জাভাতে সুইং ইউটিলিটি ক্লাসের গুরুত্ব কী?

  4. জাভাতে UncaughtExceptionHandler ব্যবহার করে ব্যতিক্রমটি কীভাবে পরিচালনা করবেন?