কম্পিউটার

জাভা 9 এ StackWalker API?


স্ট্যাকওয়াকার API ৷ সহজ ফিল্টারিং এবং অলস অ্যাক্সেস যে কোনো পদ্ধতির মধ্যে কাজ চালানোর অনুমতি দেয়. এটি জাভা 9-এ স্ট্যাক ট্রেস তথ্য পাওয়ার জন্য একটি দক্ষ API .

StackWalker API-এ তিনটি নতুন গুরুত্বপূর্ণ ক্লাস রয়েছে:StackWalker , StackWalker.StackFrame এবং StackWalker.Option .

স্ট্যাকওয়াকার - এটি StackWalker -এর প্রধান ক্লাস API . আমরা StackWalker.forEach() ব্যবহার করে স্ট্যাক ফ্রেমগুলি অতিক্রম করি পদ্ধতি এবং StackWalker.getCallerClass() এ কল করে একটি দক্ষ উপায়ে কলার ক্লাস পান পদ্ধতি আমরা StackWalker.walk() ব্যবহার করে স্ট্যাক ট্রেস এবং স্ট্যাক ফ্রেমের স্ট্রীমে একটি ফাংশন প্রয়োগ করি পদ্ধতি।

StackWalker.StackFrame - এটি একটিস্ট্যাটিক নেস্টেড ক্লাস StackWalker এর এবং StackWalker দ্বারা পদ্ধতি আহবান রিটার্ন প্রতিনিধিত্ব করে। এটিতে getDeclaringClass() এর মতো একটি প্রদত্ত স্ট্যাক ফ্রেম তথ্য অ্যাক্সেস করার পদ্ধতি রয়েছে , getLineNumber() এবং ইত্যাদি।

StackWalker. Option − এটি একটি স্ট্যাটিক নেস্টেড ক্লাস StackWalker-এর এবং স্ট্যাক ওয়াকারকে স্ট্যাক ফ্রেমের তথ্য কনফিগার করার বিকল্প প্রদান করে যখন আমরা SackWalker.getInstance() এর মাধ্যমে একটি উদাহরণ তৈরি করি। .

উদাহরণ

import java.util.List;
import java.util.stream.Collectors;
public class StackWalkingTest {
   public static void main(String args[]) {
      final List<StackWalker.StackFrame> stack = StackWalker.getInstance()
      .walk(s -> s.collect(Collectors.toList()));
      for(StackWalker.StackFrame sf : stack) {
         System.out.println(sf.getClassName() + "::" + sf.getMethodName() + ":" + sf.getLineNumber());
      }
   }
}

আউটপুট

StackWalkingTest::main:6

  1. জাভা 9-এ Completable Future API উন্নতিগুলি কী কী?

  2. জাভাতে স্ট্যাক এবং হিপ মেমরির মধ্যে পার্থক্য

  3. জাভাতে javax.json API ব্যবহার করে JSON প্রিন্ট করবেন?

  4. কিভাবে আমরা জাভাতে স্ট্যাক ব্যবহার করে একটি সারি বাস্তবায়ন করতে পারি?