21. szintet

Level 21. kérdésekre adott válaszok egy interjú a témában szinten.

1. Sorolja fel a módszerek Object osztályban
egyenlő ()
Hash kód ()
toString ()
getClass ()
értesíti ()
notifyAll ()
várjon ()
várjon (hosszú időtúllépés)
várjon (hosszú időtúllépés, int nanos)

3. Mi történik, ha felülbírálja az egyenlők, de nem írhatja felül kivonat,?
Eredetileg kivonat, - véletlen számot.
Gyűjtemények Java mielőtt össze objektumok egyenlők mindig keres / hasonlítsa össze őket a módszer kivonat, (). És ha ugyanaz a tárgy különböző kivonat, a tárgyak tekinthetők különböző - az összehasonlítás segítségével egyenlők csak nem értem.

4. Milyen módszerekkel várjunk értesíti, notifyAll?
Előfordul, hogy a program lehet a helyzet, hogy elfér egy szinkronizált blokk-kódot, és rögzítse a terméket nem tudja folytatni a munkát, mert Néhány adat még mindig hiányzik, például egy fájlt, hogy szüksége, hogy feldolgozza a még nem töltött be, vagy ilyesmi. Hogy oldja meg ezt a problémát, és várjon () metódus feltalálták. A metódus hatására a szál elengedi a monitor „szünetel”.
Ahhoz, hogy felszabadítsuk a szünet módszerek értesíti, notifyAll. Az értesíti módszer „feloldása” véletlen szál, notifyAll módszer - a „befagyott” a menet a monitor.

5. Hogyan kell klónozni egy tárgy?
Kétféle klónozás.
Klónozására alapértelmezett objektum van szüksége:
a) Adjuk hozzá a Cloneable felület kategóriájában
b) újradefiniálása klón módszer, és hívja meg a bázis megvalósítása:

osztály Point végrehajtja Cloneable


Vagy írhat a módszer végrehajtását klónozni:


6. Miért olyan véglegesítése () metódus, és hogyan működik?
Ha emlékszel, a véglegesítése () - Ez egy különleges módszer, amely az úgynevezett objektum előtt a szemétgyűjtő fog elpusztítani.
A fő célja ennek a módszernek - használnak, hogy a külső, nem Java források: közel fájlok IO patakok, stb

véglegesítése () instabil.
Ez a módszer nem indokolja a reményben hozzárendelve. Java-gép késleltetheti a megsemmisítése a célja, mint a módszer hívás befejezéséhez annyi. Sőt, nem garantálja, hogy ez a módszer kerül meghívásra. A halom helyzetek kedvéért „optimalizálása”, ő nem hívott.

finalize- módszer Object osztályban 6 cm.

8. Mi a try-with-források?
Ez a különleges kialakítás próbát, az úgynevezett try-with-források, amelyek figyelni - miután a try, majd zárójelben, ahol a változók bejelentett és létrehozott objektumok. Ezek az objektumok lehet használni belül a try blokk zárójellel <>. Ha a végrehajtás a try blokk parancsok befejeződött, függetlenül attól, hogy a - rendszerint véget ért, vagy kivétel volt a létrehozott objektum zárójelben () metódus close ();

9. Mi a különbség módszerek várni (1000) és az alvás (1000)?
alvási () felfüggeszti a menet a fenti. az állam változik TIMED_WAITING, a lejárati - futtatható

várjon () megváltoztatja az áramlási állapot VÁRAKOZÁS
Ez csak akkor okoz egy tárgy tartja zár, egyébként kivétel leesett IllegalMonitorStateException. amikor kiváltott eljárás kioldott, hogy a többiek is a munkafolyamat várhatóan elfog ugyanazt a zárat. abban az esetben, várakozás (int) állapot érv TIMED_WAITING

10. Mi a különbség az i ++ és a ++ i?
++i, i először lépteti 1, majd részt vesz a kifejezést.
i ++, i kezdetben részt vesz a kifejezés, majd lépteti 1.

Kapcsolódó cikkek