„Szoftvertechnológia - Lehetséges vizsgakérdések” változatai közötti eltérés
1. kép |
javítások |
||
| 78. sor: | 78. sor: | ||
* 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! | * Array length-je megmondja, mekkora a MÉRETE! Nem azt, hogy mennyi értelmes adat van benne! | ||
* Nézd meg a Strin == és equalsTo miket csinál! pl null, stb.. | * Nézd meg a Strin == és equalsTo miket csinál! | ||
* Mit vár a | ** pl null, stb.. | ||
* Thread-ek között hogyan lehet kommunikálni, honnan öröklődik ez? Object notify(), notifyAll() és wait() | * Mit vár a Thread.sleep()? | ||
* Thread osztály metódusai? isAlive(), join(), resume(), suspend(), stop(), start(), sleep(), destroy(), yield(), | ** long-ot!!!! | ||
* Multitasking 2 fajtája? process-based, thread-based | * Thread-ek között hogyan lehet kommunikálni, honnan öröklődik ez? | ||
* Hogy lehet meghívni az ős egy attribútumát/függvényét? | ** Object notify(), notifyAll() és wait() | ||
* Thread osztály metódusai? | |||
** isAlive(), join(), resume(), suspend(), stop(), start(), sleep(), destroy(), yield(), | |||
* Multitasking 2 fajtája? | |||
** process-based, thread-based | |||
* Hogy lehet meghívni az ős egy attribútumát/függvényét? | |||
** super.attrName / super.function() | |||
* Object class-ban mik final -ok? getClass(), notify(), notifyAll(), wait() | * Object class-ban mik final -ok? getClass(), notify(), notifyAll(), wait() | ||
* Lehet egy osztály final ÉS abstract? NEM!!! | * Lehet egy osztály final ÉS abstract? NEM!!! | ||
* Milyen típusai vannak a szálaknak? Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | * Milyen típusai vannak a szálaknak? | ||
* 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 | ** Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | ||
* 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 | * Milyen synchronized-ok vannak? | ||
* Mikor lehet a wait(...), notify(),notifyAll() függvényeket meghívni? Ha az objektum monitorának birtokában vagyunk. | ** 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 | ||
* 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 | |||
* Mikor lehet a wait(...), notify(),notifyAll() függvényeket meghívni? | |||
** 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? | ||
* Mikor mit jelent a final? osztály előtt: nem lehet leszármaztatni + egyszer lehet példányosítani!; metódus előtt: nem lehet felüldefiniálni leszármazottban; változó előtt: konstans | * Mikor mit jelent a final? | ||
* Mikor mit jelent az abstract? 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 leszármaztatni + egyszer lehet példányosítani!; | ||
* 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!! | ** metódus előtt: nem lehet felüldefiniálni leszármazottban; | ||
* Lehet konstruktor static? NEM!!!!! | ** változó előtt: konstans | ||
* Mit | * Mikor mit jelent az abstract? | ||
** 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? | |||
** 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!! | |||
* Lehet konstruktor static? | |||
** NEM!!!!! | |||
* Mit nevezünk kiterjesztésnek JAVA nyelvben? | |||
** 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= | * Hogyan lehet jelölni, hogy pl IOException-t várok? test függvény előtt @Test(expected=IOException.class) | ||
* Hogyan lehet parametrizált teszteket csinálni? osztály előtt: @RunWith( | * Hogyan lehet parametrizált teszteket csinálni? osztály előtt: @RunWith(Parameterized.class) | ||
@RunWith(value = Parameterized.class) | |||
public class JunitTest6 { | |||
private int number; | |||
public JunitTest6(int number) { | |||
this.number = number; | |||
} | } | ||
@Parameters | @Parameters | ||
public static Collection<Object[]> data() { | |||
Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } }; | |||
return Arrays.asList(data); | |||
} | } | ||
@Test | @Test | ||
public void pushTest() { | |||
System.out.println("Parameterized Number is : " + number); | |||
} | } | ||
} | |||
* assertEquals(elvárt, aktuális); | * assertEquals(elvárt, aktuális); | ||
* 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? 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)? @Test(timeout=1000) | * Hogyan lehet vizsgálni, hogy egy teszt tovább fut bizonyos időnél(pl 1 mp)? @Test(timeout=1000) | ||
* Főbb függvények? | * Főbb függvények? | ||
** assertTrue(..), assertFalse(..), assertNull(..),assertNotNull(..), assertSame(..), | ** <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> | ||
==Bevezetés== | ==Bevezetés== | ||