Kas ir atkritumu savākšana Java?
Atkritumu savākšana Java ir process, kurā programmas automātiski veic atmiņas pārvaldību. Atkritumu savācējs (GC) atrod neizmantotos objektus un izdzēš tos, lai atgūtu atmiņu. Programmā Java objektu dinamiskā piešķiršana tiek panākta, izmantojot jauno operatoru, kas izmanto daļu atmiņas, un atmiņa paliek piešķirta, līdz ir atsauces uz objekta izmantošanu.
Ja nav atsauces uz objektu, tiek pieņemts, ka tas vairs nav vajadzīgs, un atmiņu, kuru aizņem objekts, var atgūt. Nav skaidras vajadzības iznīcināt objektu, jo Java automātiski veic atdalīšanu.
Tehnika, kas to panāk, ir pazīstama kā atkritumu savākšana . Programmas, kurās netiek atdalīta atmiņa, galu galā var avarēt, kad sistēmā nav atlicis atvēlēt atmiņu. Tiek uzskatīts, ka šīm programmām ir atmiņas noplūde.
Atkritumu savākšana Java notiek automātiski programmas darbības laikā, novēršot nepieciešamību atdalīt atmiņu un tādējādi novēršot atmiņas noplūdi.
C valodā programmētāja pienākums ir atdalīt dinamiski piešķirto atmiņu, izmantojot funkciju free (). Šeit ved Java atmiņas pārvaldība.Piezīme. Visi objekti tiek izveidoti atmiņas kaudzes sadaļā. Vairāk par to vēlākā apmācībā.
Piemērs: apgūt atkritumu savācēju mehānismu Java valodā
1. darbība. Nokopējiet šo kodu redaktorā.
klases skolnieks {int a;int b;public void setData (int c, int d) {a = c;b = d;}public void showData () {System.out.println ("a =" + a vērtība ");System.out.println ("b = vērtība +" + b);}public static void main (String args []) {Students s1 = jauns students ();Students s2 = jauns students ();s1.setData (1,2);s2.setData (3,4);s1.showData ();s2.showData ();// Studentu s3;// s3 = s2;//s3.showData ();// s2 = nulle;//s3.showData ();// s3 = nulle;//s3.showData ();}}
2. solis. Saglabājiet, apkopojiet un palaidiet kodu. Kā parādīts diagrammā, tiek izveidoti divi objekti un divi atsauces mainīgie.
3. solis. Noņemiet komentāru rindā # 20,21,22. Saglabājiet, apkopojiet un palaidiet kodu.
4. solis) Kā parādīts diagrammā, divi atsauces mainīgie norāda uz vienu un to pašu objektu.
5. solis. Noņemiet komentāru no 23. un 24. rindas. Apkopojiet, saglabājiet un palaidiet kodu.
6. darbība. Kā parādīts zemāk redzamajā diagrammā, s2 kļūst nulle, bet s3 joprojām norāda uz objektu un nav piemērots java atkritumu savākšanai.
7. solis. Noņemiet komentāru no 25. un 26. rindiņas. Saglabājiet, sastādiet un palaidiet kodu.
8. darbība . Šajā brīdī nav atsauču, kas norādītu uz objektu un kļūst piemērotas atkritumu savākšanai. Tas tiks noņemts no atmiņas, un to nav iespējams atgūt.
Kā izdzēst objektu Java?
1) Ja vēlaties, lai jūsu objekts būtu piemērots atkritumu savākšanai, piešķiriet tā atsauces mainīgo nulli.
2) Primitīvie tipi nav objekti. Viņiem nevar piešķirt nulli.