English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

كم عدد الطرق التي يمكن أن تجعل الكائن يتوافق مع شرط GC في Java؟

يُسمى عملية تدمير الكائنات غير المشار إليهاالجمع الناتج (GC)، بمجرد إلغاء الإشارة إلى الكائن، يتم اعتباره كائن غير مستخدم، لذاسيقوم JVM تدمير الكائن تلقائيًا.

هناك عدة طرق يمكن من خلالها جعل الكائن يلبي شروط GC.

بإلغاء الإشارة إلى الكائن

بمجرد الوصول إلى الغرض من إنشاء الكائن، يمكننا تعيين جميع المراجع المتاحة للكائن إلى " null ».

مثال

public class GCTest1 {
   public static void main(String [] args){
      String str = "Welcome to w3codebox"; // String object referenced by variable str and it is       not eligible for GC yet.
      str = null; // String object referenced by variable str is eligible for 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 w3codebox";
      String str2 = "Welcome to Tutorix"; // String object referenced by variable str1 and str2 and         is not eligible for GC yet.
      str1 = str2; // String object referenced by variable str1 is eligible for GC.
      System.out.println("str1: " + str1);
   }
}

نتيجة الإخراج

str1: مرحبًا بكم في Tutorix
من المحتمل أن تحبها