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

জাভা ৯-এ StackFrame API-তে সব অ্যাট্রিবিউট প্রিন্ট করা


StackWalker API হলো জাভা ৯-এ একটি নতুন ফিচার, যা পérrezিডেসর (predecessor) স্ট্যাক ট্রেস এলিমেন্টের পারফরম্যান্স উন্নত করে। এটি এক্সপশন (exception) কেসে বা অ্যাপ্লিকেশন আচরণ (application behavior) বুঝতে স্ট্যাক এলিমেন্ট ফিল্টার করার পদ্ধতি ও প্রদান করে। জাভা ৯-এ স্ট্যাক ট্রেস অ্যাক্সেস করার পদ্ধতি খুব সীমিত এবং একসাথে পুরো স্ট্যাক ইনফরমেশন দেয়।

নিচের উদাহরণে, স্ট্যাক ফ্রেম (Stack Frame)-এ সব অ্যাট্রিবিউট প্রিন্ট করা দেখানো হয়েছে।

উদাহরণ

import java.lang.StackWalker.StackFrame;
import java.util.*;
import java.util.stream.*;
import java.lang.StackWalker.Option;

public class AllAttributesTest {
    public static void main(String args[]) {
        System.out.println("Java 9 Stack Walker API - Print all attributes in stack frame");
        StackWalker newWalker = StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE);
        List stackFrames = newWalker.walk(frames -> frames.limit(1).collect(Collectors.toList()));
        
        stackFrames.forEach(test -> {
            System.out.printf("[Bytecode Index] %d%n", test.getByteCodeIndex());
            System.out.printf("[Class Name] %s%n", test.getClassName());
            System.out.printf("[Declaring Class] %s%n", test.getDeclaringClass());
            System.out.printf("[File Name] %s%n", test.getFileName());
            System.out.printf("[Method Name] %s%n", test.getMethodName());
            System.out.printf("[Is Native] %b%n", test.isNativeMethod());
            System.out.printf("[Line Number] %d%n", test.getLineNumber());
        });
    }
}

আউটপুট

Java 9 Stack Walker API - Print all attributes in stack frame 
[Bytecode Index] 21 
[Class Name] AllAttributesTest 
[Declaring Class] class AllAttributesTest 
[File Name] AllAttributesTest.java 
[Method Name] main 
[Is Native] false 
[Line Number] 10

  1. জাভা রেগুলার এক্সপ্রেশন: স্ট্রিংয়ের সকল ক্যারেক্টার প্রিন্ট করা (.) মেটাক্যারেক্টার

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

  3. জাভাতে দেওয়া স্ট্রিং-এর সব বড় হাতের অক্ষর প্রিন্ট করা

  4. জাভাতে Stack ব্যবহার করে Queue বাস্তবায়ন করা