Szemétgyűjtő. Mikor szabadítható fel legkorábban a Business tipusú objektum? És miért?
Figyelt kérdés
class Business{
}
class Test{
Business doBusiness(){
Business b = new Business();
return b;
}
public static void main(String[] args){
Test t = new Test();
Business newBusiness = t.doBusiness();
System.out.println("newBusiness");
newBusiness = new Business();
System.out.println("finishing");
}
}
2016. jan. 8. 19:55
1/5 anonim válasza:
Ez valami lecke, és nekünk kéne megoldani? A kérdés ebben a formában értelmetlen, mert több ilyen objektum van, tehát a határozott névelő nem határozza meg.
2/5 anonim válasza:
Az első felszabadítható, miután új értéket kapott a newBusiness. A második pedig a program végével szabadítható fel. Hátha meghívnak közben rajta egy metódust.
3/5 anonim válasza:
Ettől függetlenül mivel van költsége a gyűjtő meghívásának a program végéig egyik sem fog felszabadulni.
4/5 anonim válasza:
Ezért az a kérdés, hogy mikor szabadítható fel legkorábban. Java-ban az egyik legnagyobb tökön lövés, hogy semmilyen garancia nincs arra, hogy a JVM mit mikor szabadít fel, ha egyáltalán. Memóriára még elmegy a koncepció, de a fájlok, socketek meg egyéb erőforrások kezelése 18+-os horror, ha tényleg jól akarod csinálni.
5/5 anonim válasza:
Legkorábban akkor szabadul fel, amikor betelik a vramod, és emiatt a GC automatikusan elindul :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!