„Szoftvertechnológia - Lehetséges vizsgakérdések” változatai közötti eltérés
válasz külön sorban |
javítgatások |
||
| 102. sor: | 102. sor: | ||
==JAVA== | ==JAVA== | ||
* Singleton vs static class: static classban csak static metódusok lehetnek! | * Singleton vs static class: | ||
** static classban csak static metódusok lehetnek! | |||
* Class nem lehet static, csak INNER CLASS!!!!!!!!! | * Class nem lehet static, csak INNER CLASS!!!!!!!!! | ||
* Array length-je megmondja, mekkora a MÉRETE! Nem azt, hogy mennyi értelmes adat van benne! | * Array length-je megmondja, mekkora a MÉRETE! Nem azt, hogy mennyi értelmes adat van benne! | ||
| 110. sor: | 111. sor: | ||
** long-ot!!!! | ** long-ot!!!! | ||
* Thread-ek között hogyan lehet kommunikálni, honnan öröklődik ez? | * Thread-ek között hogyan lehet kommunikálni, honnan öröklődik ez? | ||
** Object notify(), notifyAll() és wait() | ** Object.notify(), .notifyAll() és .wait() | ||
* Thread osztály metódusai? | * Thread osztály metódusai? | ||
** isAlive(), join(), resume(), suspend(), stop(), start(), sleep(), destroy(), yield(), | ** isAlive(), join(), resume(), suspend(), stop(), start(), sleep(), destroy(), yield(), | ||
* Multitasking 2 fajtája? | * Multitasking 2 fajtája? | ||
** process-based | ** process-based | ||
** thread-based | |||
* Hogy lehet meghívni az ős egy attribútumát/függvényét? | * Hogy lehet meghívni az ős egy attribútumát/függvényét? | ||
** super.attrName / super.function() | ** super.attrName / super.function() | ||
* Object class-ban mik final -ok? getClass(), notify(), notifyAll(), wait() | * Object class-ban mik final-ok? | ||
* Lehet egy osztály final ÉS abstract? NEM!!! | ** getClass(), notify(), notifyAll(), wait() | ||
* Lehet egy osztály final ÉS abstract? | |||
** NEM!!! | |||
* Milyen típusai vannak a szálaknak? | * Milyen típusai vannak a szálaknak? | ||
** Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | ** Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | ||
* Milyen synchronized-ok vannak? | * Milyen synchronized-ok vannak? | ||
** blokk | ** blokk ... Object o = new Object(); | ||
** .. function...{ synchronized(o){..}}, METÓDUS: public synchronized int valami(){} . Mindkettőnél egyszerre csak egy szál tartózkodhat az adott blokkban/függvényben | |||
* Mi az az atomi művelet? | * Mi az az atomi művelet? | ||
** Guarded :) ha valaki módosítja, akkor más metódus nem lát inkonzisztens állapotot. primitív adattípusokra, kivéve long és double | ** Guarded :) ha valaki módosítja, akkor más metódus nem lát inkonzisztens állapotot. primitív adattípusokra, kivéve long és double | ||
| 128. sor: | 133. sor: | ||
** Ha az objektum monitorának birtokában vagyunk. | ** Ha az objektum monitorának birtokában vagyunk. | ||
* Mi a különbség early (static) binding és late binding között? | * Mi a különbség early (static) binding és late binding között? | ||
** TODO | |||
* Mikor mit jelent a final? | * Mikor mit jelent a final? | ||
** osztály előtt: nem lehet leszármaztatni + egyszer lehet példányosítani!; | ** osztály előtt: nem lehet leszármaztatni + egyszer lehet példányosítani!; | ||
| 135. sor: | 141. sor: | ||
** Osztály előtt: nem lehet példányosítani, van benne legalább 1 olyan metódus, amely abstract (nem implementált), leszármazottnak implementálni kell (vagy ő is abstract lesz). | ** Osztály előtt: nem lehet példányosítani, van benne legalább 1 olyan metódus, amely abstract (nem implementált), leszármazottnak implementálni kell (vagy ő is abstract lesz). | ||
* Mit jelent, hogy a változó statikus/dinamikus része? | * Mit jelent, hogy a változó statikus/dinamikus része? | ||
** List x = new ArrayList(); | ** List x = new ArrayList(); | ||
*** egyenlőségjel bal oldala a statikus rész, ő lehet absztrakt is (tehát interfész is, mint a List is az); | |||
*** jobb oldal a dinamikus, nem lehet absztrakt/interfész!! | |||
* Lehet konstruktor static? | * Lehet konstruktor static? | ||
** NEM!!!!! | ** NEM!!!!! | ||
| 141. sor: | 149. sor: | ||
** ha több interfészt valósít meg egy osztály | ** ha több interfészt valósít meg egy osztály | ||
JUnit: | === JUnit: === | ||
* @Before, @Test, @After | * @Before, @Test, @After | ||
* Hogyan lehet jelölni, hogy pl IOException-t várok? test függvény előtt @Test(expected=IOException.class) | * Hogyan lehet jelölni, hogy pl. IOException-t várok? | ||
* Hogyan lehet parametrizált teszteket csinálni? osztály előtt: @RunWith(Parameterized.class) | ** test függvény előtt <code>@Test(expected=IOException.class)</code> | ||
* Hogyan lehet parametrizált teszteket csinálni? | |||
** osztály előtt: <code>@RunWith(Parameterized.class)</code> | |||
@RunWith(value = Parameterized.class) | @RunWith(value = Parameterized.class) | ||
| 164. sor: | 174. sor: | ||
} | } | ||
* assertEquals(elvárt, aktuális); | * <code>assertEquals(elvárt, aktuális);</code> | ||
* Milyen kimenetelei lehetnek a tesztnek? pass | * Milyen kimenetelei lehetnek a tesztnek? | ||
* Hogyan lehet vizsgálni, hogy egy teszt tovább fut bizonyos időnél(pl 1 mp)? @Test(timeout=1000) | ** pass: megfelel, | ||
** failure: nem az elvárt eredményt kapjuk valamilyen tesztre, | |||
** error: Exception dobódik, és nem kezelődik le | |||
* Hogyan lehet vizsgálni, hogy egy teszt tovább fut bizonyos időnél(pl 1 mp)? | |||
** <code>@Test(timeout=1000)</code> | |||
* Főbb függvények? | * Főbb függvények? | ||
** <code>assertTrue(..)</code>, <code>assertFalse(..)</code>, <code>assertNull(..)</code>, <code>assertNotNull(..)</code>, <code>assertSame(..)</code>, <code>assertNotSame(..)</code>, <code>assertEquals(..)</code>, <code>assertNotEquals(..)</code>, <code>fail([String msg])</code> | ** <code>assertTrue(..)</code>, <code>assertFalse(..)</code>, <code>assertNull(..)</code>, <code>assertNotNull(..)</code>, <code>assertSame(..)</code>, <code>assertNotSame(..)</code>, <code>assertEquals(..)</code>, <code>assertNotEquals(..)</code>, <code>fail([String msg])</code> | ||