কম্পিউটার

আমরা কখন জাভা 9 এ StackWalker.getCallerClass() পদ্ধতি ব্যবহার করতে পারি?


Java 9 অলস অ্যাক্সেসের জন্য স্ট্যাক ওয়াকিংয়ের একটি কার্যকর উপায় প্রদান করেছে, স্ট্যাক ট্রেস ফিল্টারিং StackWalker API ব্যবহার করে। StackWalker এর একটি বস্তু আমাদের ট্র্যাভার্স এবং স্ট্যাক অ্যাক্সেস করার অনুমতি দিতে পারে. এই ক্লাসে কিছু দরকারী পদ্ধতি রয়েছে যেমন হাঁটা() , প্রত্যেকটির জন্য() , এবং getCallerClass() .

দি getCallerClass() মেথড সেই ক্লাস রিটার্ন করে যা এই মেথডটিকে কল করে এমন মেথডকে আহ্বান করে। কলিং ক্লাসের ইন্সট্যান্স পেতে, আমাদের প্রয়োজন RETAIN_CLASS_REFERENCE StackWalker উদাহরণ পাওয়ার সময়। RETAIN_CLASS_REFERENCE স্ট্যাকওয়াকার দ্বারা পরিচালিত সমস্ত ক্লাসের একটি উদাহরণ বজায় রাখে।

সিনট্যাক্স

public Class<?> getCallerClass()

উদাহরণ

import java.lang.StackWalker.Option;

public class StackWalkerTest {
   public static void main(String args[]) {
      StackWalkerTest1.test1();
   }
}

class StackWalkerTest1 {
   protected static void test1() {
      StackWalkerTest2.test2();
   }
}

class StackWalkerTest2 {
   protected static void test2() {
      System.out.println(StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass());
   }
}

আউটপুট

class StackWalkerTest1

  1. আমরা কখন জাভাতে প্যাক() পদ্ধতি ব্যবহার করতে পারি?

  2. কখন আমরা জাভাতে স্ট্রিং ক্লাসের ইন্টার্ন() পদ্ধতি ব্যবহার করতে পারি?

  3. আমরা কি জাভাতে ক্লাসের নামের মতো একটি পদ্ধতির নাম সংজ্ঞায়িত করতে পারি?

  4. কখন একটি বিমূর্ত ক্লাস ব্যবহার করবেন এবং কখন জাভাতে একটি ইন্টারফেস ব্যবহার করবেন?