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

Harapeti (vitalap | szerkesztései)
1. kép
Harapeti (vitalap | szerkesztései)
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! nem azt, hogy mennyi értelmes adat van benne!
* 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 <nowiki>Thread.sl</nowiki>eep()? long-ot!!!!
** 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? <nowiki>super.at</nowiki>trName / <nowiki>super.fu</nowiki>nction()
** 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 nevezün kiterjesztésnek JAVA nyelvben? ha több interfészt valósít meg egy osztály
* 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=<nowiki>IOException.cl</nowiki>ass)
* 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(<nowiki>Parameterized.cl</nowiki>ass)
* 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;


  @RunWith(value = Parameterized.class)
  public class JunitTest6 {
    private int number;
    public JunitTest6(int number) {
        this.number = number;
     }
     }
     @Parameters
     @Parameters
 
     public static Collection<Object[]> data() {
     '''public''' '''static'''<nowiki> Collection&lt;Object[]&gt; data() {</nowiki>
      Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } };
 
       return Arrays.asList(data);
    <nowiki>  Object[][] data = </nowiki>'''new'''<nowiki> Object[][] { { 1 }, { 2 }, { 3 }, { 4 } };</nowiki>
 
       '''return''' <nowiki>Arrays.as</nowiki>List(data);
 
     }
     }
     @Test
     @Test
 
     public void pushTest() {
     '''public''' '''void''' pushTest() {
       System.out.println("Parameterized Number is : " + number);
 
       <nowiki>System.out.pr</nowiki>intln("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(..),assertNotSam<nowiki>e(..), assertEquals(..),assertNotEquals(..), fail([String msg])</nowiki>
** <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==