„Szoftvertechnológia - Lehetséges vizsgakérdések” változatai közötti eltérés

Harapeti (vitalap | szerkesztései)
válasz külön sorban
Harapeti (vitalap | szerkesztései)
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, thread-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 Object o = new Object(); .. function...{ synchronized(o){..}}, METÓDUS: public synchronized int valami(){} . Mindkettőnél egyszerre csak egy szál tartozkodhat az adott blokkban/függvényben
** 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(); egyenlőségjel bal oldal 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!!
** 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-megfelel, failure-nem az elvárt eredményt kapjuk valamilyen tesztre, error-Exception dobódik, és nem kezelődik le
* 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>