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

জাভাতে অবজেক্টকে গার্বেজ কালেকশনের জন্য যোগ্য করার পদ্ধতিগুলো

অনুপ্রयुक्त অবজেক্ট ধ্বংস করার প্রক্রিয়াকে গার্বেজ কালেকশন (GC) বলা হয়। একবার অবজেক্ট অনুপ্রযুক্ত (unreferenced) হলে তা অপ্রয়োজনীয় অবজেক্ট হিসেবে বিবেচনা হয়, ফলে JVM স্বয়ংক্রিয়ভাবে সেটি ধ্বংস করে দেয়।

অবজেক্টকে GC-এর জন্য যোগ্য করার বিভিন্ন পদ্ধতি রয়েছে।

অবজেক্ট রেফারেন্স নালিফাই করে

অবজেক্ট তৈরির উদ্দেশ্য পরিপূরণ হলে সকল উপলব্ধ অবজেক্ট রেফারেন্সকে "null" সেট করা যায়।

উদাহরণ

public class GCTest1 { 
    public static void main(String [] args){ 
        String str = "Welcome to TutorialsPoint"; // str ভেরিয়েবল রেফারেন্স করা স্ট্রিং অবজেক্ট 
        // এখনও GC-এর জন্য যোগ্য নয় 
        str = null; // str ভেরিয়েবল রেফারেন্স করা স্ট্রিং অবজেক্ট GC-এর জন্য যোগ্য 
        System.out.println("str eligible for GC: " + str); 
    } 
}

আউটপুট

str eligible for GC: null

রেফারেন্স ভেরিয়েবলকে অন্য অবজেক্টে রি-অ্যাসাইন করে

রেফারেন্স ভেরিয়েবলকে অন্য অবজেক্ট রেফার করতে পারি। রেফারেন্স ভেরিয়েবলকে অবজেক্ট থেকে আলাদা করে অন্য অবজেক্টে রেফার করালে, রি-অ্যাসাইন করার আগে যেই অবজেক্টটি রেফার করতো সেটি GC-এর জন্য যোগ্য হয়।

উদাহরণ

public class GCTest2 { 
    public static void main(String [] args){ 
        String str1 = "Welcome to TutorialsPoint"; 
        String str2 = "Welcome to Tutorix"; // str1 এবং str2 রেফারেন্স করা অবজেক্ট GC-এর জন্য যোগ্য নয় 
        str1 = str2; // str1 রেফারেন্স করা অবজেক্ট GC-এর জন্য যোগ্য 
        System.out.println("str1: " + str1); 
    } 
}

আউটপুট

str1: Welcome to Tutorix
  1. জাভাতে JList-এ কত প্রকার সিলেকশন মোড থাকে?

  2. জাভাতে ডেটাবেস ড্রাইভার রেজিস্টার করার কতগুলো উপায় আছে?

  3. জাভাতে মেথড ওভাররাইডিং বাধা দেওয়ার কতগুলো উপায় রয়েছে?

  4. জাভা POJO কে JSON-এ কনভার্ট করা: Jackson এবং Gson ব্যবহার করে