জাভাতে আবর্জনা সংগ্রহ একটি ডেমন থ্রেড দ্বারা বহন করা হয় যাকে বলা হয় গার্বেজ কালেক্টর (GC)। JVM একটি আবর্জনা সংগ্রহকারী চালানোর জন্য অপেক্ষা করার পরিবর্তে আমরা JVM কে আবর্জনা সংগ্রহকারী চালানোর জন্য অনুরোধ করতে পারি। JVM আমাদের অনুরোধ গ্রহণ করবে কি না তার কোন নিশ্চয়তা নেই।
জাভাতে, আমরা দুটি উপায়ে ম্যানুয়ালি আবর্জনা সংগ্রহকারীকে কল করতে পারি
- সিস্টেম ক্লাস ব্যবহার করে
- রানটাইম ক্লাস ব্যবহার করে
সিস্টেম ক্লাস ব্যবহার করে
সিস্টেম ক্লাসের একটি স্ট্যাটিক পদ্ধতি আছে gc() , যা JVM কে আবর্জনা সংগ্রহকারীকে কল করার অনুরোধ করতে ব্যবহৃত হয়।
উদাহরণ
public class SystemClassTest { public static void main(String[] args){ SystemClassTest test = new SystemClassTest(); test = null; System.gc(); } public void finalize() { System.out.println("Garbage collected"); } }
আউটপুট
Garbage collected
রানটাইম ক্লাস ব্যবহার করে
রানটাইম একটি সিঙ্গলটন ক্লাস জাভাতে এবং আমরা getRuntime() ব্যবহার করে একটি রানটাইম অবজেক্ট পেতে পারি পদ্ধতি gc() পদ্ধতিটি রানটাইম থেকে ক্লাস এবং এটি একটি উদাহরণ পদ্ধতি।
উদাহরণ
public class RuntimeClassTest { public static void main(String[] args) { RuntimeClassTest test = new RuntimeClassTest(); test = null; Runtime.getRuntime().gc(); } public void finalize() { System.out.println("Garbage Collected"); } }
আউটপুট
Garbage collected