কম্পিউটার

নরম রেফারেন্স এবং ফ্যান্টম রেফারেন্সের উদাহরণ?


সফ্ট রেফারেন্স প্রায়ই মেমরি-সংবেদনশীল ক্যাশে বাস্তবায়ন করতে ব্যবহৃত হয়। আসুন আমরা জাভা -

-এ সফ্ট রেফারেন্সের একটি উদাহরণ দেখি

উদাহরণ

import java.lang.ref.SoftReference;
class Demo{
   public void display_msg(){
      System.out.println("Hello there");
   }
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_instance = new Demo();
      my_instance.display_msg();
      SoftReference<Demo> my_softref = new SoftReference<Demo>(my_instance);
      my_instance = null;
      my_instance = my_softref.get();
      my_instance.display_msg();
   }
}

আউটপুট

Hello there
Hello there

ডেমো নামের একটি ক্লাসে 'display_msg' নামের একটি ফাংশন রয়েছে, যা প্রাসঙ্গিক বার্তা প্রদর্শন করে। 'Demo_example' নামে আরেকটি ক্লাস সংজ্ঞায়িত করা হয়েছে, যেটিতে প্রধান ফাংশন রয়েছে। এখানে, ডেমো ক্লাসের একটি দৃষ্টান্ত তৈরি করা হয়েছে, এবং এই উদাহরণে 'display_msg' ফাংশনটি কল করা হয়েছে। ডেমো ক্লাসের জন্য ASoftReference দৃষ্টান্ত তৈরি করা হয়, এবং দৃষ্টান্তটি null এ বরাদ্দ করা হয়। 'গেট' ফাংশনটিকে এই সফ্টরেফারেন্স অবজেক্টে বলা হয় এবং পূর্ববর্তী উদাহরণে বরাদ্দ করা হয়। এই উদাহরণে 'display_msg' ফাংশন বলা হয়। প্রাসঙ্গিক বার্তা কনসোলে প্রদর্শিত হয়৷

ফ্যান্টম রেফারেন্সগুলি প্রায়শই জাভা চূড়ান্তকরণ প্রক্রিয়ার সাথে সম্ভবের চেয়ে আরও নমনীয় উপায়ে প্রাক-মর্টেম ক্লিনআপ অ্যাকশনের সময় নির্ধারণের জন্য ব্যবহৃত হয়।

আসুন এখন ফ্যান্টম রেফারেন্স -

এর একটি উদাহরণ দেখি

উদাহরণ

import java.lang.ref.*;
class Demo{
   public void display_msg(){
      System.out.println("Hello there");
   }
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_instance = new Demo();
      my_instance.display_msg();
      ReferenceQueue<Demo> refQueue = new ReferenceQueue<Demo>();
      PhantomReference<Demo> phantomRef = null;
      phantomRef = new PhantomReference<Demo>(my_instance,refQueue);
      my_instance = null;
      my_instance = phantomRef.get();
      my_instance.display_msg();
   }
}

আউটপুট

Hello there
Exception in thread "main" java.lang.NullPointerException
at Demo_example.main(Demo_example.java:22)

ডেমো নামের একটি ক্লাসে ‘display_msg’ নামের একটি ফাংশন রয়েছে যা একটি প্রাসঙ্গিক বার্তা প্রদর্শন করে। Demo_example নামের আরেকটি ক্লাসে প্রধান ফাংশন রয়েছে। এই ফাংশনে ডেমো ক্লাসের ইন্সট্যান্স থাকে এবং এটিতে 'display_msg' ফাংশন বলা হয়। তারপর, একটি রেফারেন্স কিউ উদাহরণ তৈরি করা হয়। আরেকটি ফ্যান্টমরেফারেন্স উদাহরণ তৈরি করা হয়েছে এবং 'নাল' এ বরাদ্দ করা হয়েছে। তারপর, আগের ইন্সট্যান্সটি নাল এ বরাদ্দ করা হয়, এবং তারপর এই ইন্সট্যান্সে 'display_msg' ফাংশনটি কল করা হয়। কনসোলে প্রাসঙ্গিক আউটপুট প্রদর্শিত হয়।


  1. ফার্মওয়্যার কি? সংজ্ঞা এবং উদাহরণ

  2. ব্যাশ ভেরিয়েবল টিউটোরিয়াল – 6 ব্যবহারিক ব্যাশ গ্লোবাল এবং লোকাল ভেরিয়েবল উদাহরণ

  3. কিভাবে এক্সেলে ডেটা পাবেন এবং রূপান্তর করবেন (4টি উপযুক্ত উদাহরণ)

  4. CSV এবং Excel ফাইলের মধ্যে পার্থক্য (11টি উপযুক্ত উদাহরণ)