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

জাভা ৯-এ স্ট্যাটিক VarHandle তৈরি করার পদ্ধতি

VarHandle একটি ভেরিয়েবলের রেফারেন্স, এবং এটি ভেরিয়েবল অ্যাক্সেস প্রদান করে বিভিন্ন অ্যাক্সেস মোডে (যেমন প্লেইন রিড/রাইট, ভোলাটাইল রিড/রাইট, এবং কম্পেয়ার-অ্যান্ড-সোয়াপ), java.util.concurrent.atomic এবং sun.misc.Unsafe দ্বারা প্রদান করা ফাংশনালিটির মতো। ভেরিয়েবলগুলো হতে পারে অ্যারে এলিমেন্ট, ইনস্ট্যান্স বা স্ট্যাটিক ফিল্ড একটি ক্লাসে।

নিচের উদাহরণে, আমরা একটি স্ট্যাটিক ভেরিয়েবল হ্যান্ডেল তৈরি করতে পারি।

উদাহরণ

import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;

public class StaticVarHandleTest {
    static int field;
    static int[] array = new int[20];
    static final VarHandle FIELD, ARRAY;
    
    static {
        try {
            FIELD = MethodHandles.lookup().in(StaticVarHandleTest.class).findStaticVarHandle(StaticVarHandleTest.class, "field", Integer.TYPE);
            ARRAY = MethodHandles.arrayElementVarHandle(int[].class);
        } catch(Exception e) {
            throw new InternalError(e);
        }
    }
    
    public static void main(String args[]) throws Exception {
        int i = (int)FIELD.getVolatile();
        System.out.println(i);
        FIELD.getAndAdd(5);
        System.out.println(field);
        System.out.println(ARRAY.getAndAdd(array, 5, 5));
        System.out.println(ARRAY.getAndAdd(array, 5, 5));
    }
}

আউটপুট

0
5
0
5
  1. জাভাতে ক্লাসকে সিঙ্গলটন বানান

  2. জাভাতে JSON অ্যারে কীভাবে লিখবেন/তैयার করবেন?

  3. জাভাতে কাস্টম অনচেকড এক্সেপশন কীভাবে তৈরি করবেন?

  4. জাভাতে অস্থায়ী ফাইল তৈরি: একটি ব্যাবহারিক গাইড