1. Co oznacza, że aplety są uruchamiane w piaskownicy (sandboxie)?
Oznacza to, że mają one ograniczony dostęp do niektórych zasobów (np. dysków, czy połączeń
sieciowych). Pełne ich wykorzystanie jest możliwe tylko przez aplety podpisane
odpowiednim certyfikatem.
2. Czasami należy zatrzymać działanie wątku. Wytłumacz różnice pomiędzy metodami:
yield –
zatrzymuje wykonywanie wątku i oddaje zasoby
sleep –
zatrzymuje wykonyw. wątku na czas nie krótszy niż podany w param., ale nie oddaje
zasobów
wait
oddaje zasoby i czeka przez czas podany jako parametr, po czym domaga się oddania
zasobów
join –
wstrzymuje wykonywanie i czeka, aż innym wątek zakończy się
3. Wymień podstawowe różnie pomiędzy tablicą obiektów (Obiect[]) a listą obiektów (ArrayList)
ArrayList jest kontenerem,
do poszczególnych elementów Object odnosimy się używając operatora [], a do ArrayList za pomocą
funkcji
można zmieniać rozmiar listy obiektów typu ArrayList
4. Kiedy StringBuffer jest lepszy od StringBuilder?
Gdy używamy ich w aplikacji wielowątkowej, bo same się synchronizują.
5. Kiedy i dlaczego warto używać klasy StringBuffer zamiast String?
Kiedy zależy nam na szybkości, zwłaszcza konkatenacji oraz na synchronizacji obiektów, np. w
programach wielowątkowych.
6. Które z poniższych sposobów „zniszczenia” obiektu jest poprawne
Integer x = new Integer (3);
A delete x; B
x = null;
C x.finalize();
7. Które z poniższych warunków (wszystkie sprzyjają ale które) jest konieczne aby
mogło nastąpić zakleszczenie ?
wzajemne wykluczanie przy dostępie do wspólnego zasobu
przynajmniej jeden wątek posiada zasób (blokuje go) i oczekuje na inny zasób
nie ma możliwości wywłaszczenia zasobów, sam wątek musi się zrzec zasobu
możliwość zapętlonego oczekiwania
Wystąpienie wszystkich 4 warunków naraz jest konieczne aby mogło nastąpić
zakleszczenie.
8. Czym jest Test:
interface Testowa {…}
class Test extends Testowa {…}
A klasą B klasą abstrakcyjną
C interfejsem
9. Czym jest Test:
interface Testowa {…}
class Test implements Testowa {…}
A klasą
B klasą abstrakcyjną C interfejsem
10. Czym jest Test:
abstract Testowa {…}
class Test extends Testowa {…}
A klasą
B klasą abstrakcyjną C interfejsem
/*jak jest
class Test extends Testowa {}
to B klasą abstrakcyjną */
11. Który z wymienionych sposobów jest najlepszy do przesyłania informacji pomiędzy wątkami?
Dlaczego?
1
A
potoki
B Pliki C Zmienne obiekty w pamięci
Bo są szybsze i same się synchronizują;)
12. Który z poniższych typów zbiorów zachowuje kolejność wstawiania do zbioru:
A HashSet B Set
C TreeSet
13. Które wyrażenie jest literałem klasy HashMap:
A
HashMap.class
B HashMap.getClass()
C HashMap o= new HashMap();
o.class;
14. Które z poniższych sposobów użycia obiektu klasy HashMap jest niepoprawne?
A HashMap o = new HashMap();
o.put (“indeks”, “wartosc”);
B HashMap o = new HashMap();
o.get (“index”);
C
HashMap o = new HashMap();
o.add (“indeks”, “wartosc”);
15 Które z poniższych kawałków kodu nie są poprawne:
A
int i = 7;
B
int i = 7; C int i = 7;
float f = i; float f = (float) i; float f = (float) i;
boolean b = i;
boolean b = (boolean) i;
boolean b = i<15;
16 Które z definicji typu Test są poprawne:
interface Testowa {...}
interface Testowa2 {...}
class Tmp {...}
class Tmp2 {...}
A class Test extends Tmp, Tmp2 {...}
B class Test extends Tmp implements Testowa {...}
C class Test extends Tmp implements Testowa, Testowa2 {...}
17 Który sposób dynamicznego sprawdzania typu obiektu nie jest poprawny:
NazwaKlasy o = new NazwaKlasy( )
A o.isInstanceOf (NazwaKlasy)
B if ( o InstanceOf NazwaKlasy)
C NazwaKlasy.class.isInstance(0)
18. Do których z pól klasy Test można się odwoływać z wnętrza anonimowej klasy wewnętrznej
zdefiniowanej w funkcji licz:
class Test
{ private int x;
public static int y;
public final int z;
private void licz (new Integer( ) {…} );
}
A x. B y.
C z. (Można wybrać więcej niż jedną odp)
19. Do których z pól klasy Test można się odwołać z wnętrza klasy TestWew:
Class Test
{ private int x;
public static int y;
public final int z;
class TestWew{…}
}
A x. B y. C z.
2
20. Który z poniższych fragmentów kodu jest niepoprawny
A String s = ”Ala ”;
s = s+ “ma Kota”;
B StingBuilder s = new StringBuilder (”Ala”);
s = s+ “ma Kota”;
C StringBuffer s= new StringBuffer (”Ala”);
s = s.append (”ma Kota”);
21 Wybierz błędny sposób pracy z tablicą
A String[] tab={”a”, ”b”, ”c”};
for (int i=1; i<4; i++) System.out.println(tab[i]);
B int [] tab = new int [4];
for (int i=1; i<4; i++) System.out.println(tab[i]);
C String [] tab = new String [4];
for (int i=1; i<4; i++) System.out.println(tab[i]; tab[1]=”a”);
22 Wynik działania programu:
class ObiektA
{ int a,b;
public ObiektA (int_a, int_b)
{ a= _a;
b= _b; }
public static void main (String [] args)
{ ObiektA A1= new ObiektA (1,2);
ObiektA A2= new ObiektA (1,2);
System.out,println (”Wynik porównania A1= =A2:” + (A1= =A2));
System.out,println (”Wynik porównania A1.equals(A2):” + (A1.equals(A2)));
}
}
Odpowiedz: (uzupełnij)
Wynik porównania A1= =A2: ...
false
Wynik porównania A1.equals(A2): ...
false
23 Który z poniższych fragmentów jest niepoprawny?
interface Rand {..}
class Losowanie implements Rand {...}
class Test
{
public static void testLos (Rand r);
}
A Test.testLos (new Losowanie ( ) );
B Test.testLos (new Rand( ) { public int next lnt() {return 3;}})
C o.addActionEvent (new Rand () );
24 Który ze sposobów powiązania obiektu z obsługą zdarzenia ActionEvent jest poprawny?
JTextField o = new JTextField (“Etykieta”)
A o.addActionAdapter ( new ActionAdapter() {...});
B o.addActionListener ( new ActionListener() {...});
C o.addActionEvent ( new ActionEvent() {...});
25 Które z poniższych sposobów użycia obiektu klasy Klasa jest niepoprawne:
class Klasa
{
public int x = 0;
}
3
A Klasa o = new Klasa ( );
System.out.println ( ”” + o);
B Klasa o = new Klasa ( );
Klasa o2 = new Klasa ( );
o = o + o2;
C ucięte :)
26 Który sposób użycia funkcji Test.znak (int) jest poprawny:
class Test
{
public static void znak (int k) throws IOException {...}
}
A Test.znak(13);
B try { Test.znak(13);}
catch (IOException e ) {e.printStackTrace( ); }
catch (Exception e ) {e.printStackTrace( ); }
C try { Test.znak(13);}
catch (Exception e ) {e.printStackTrace( ); }
catch (IOException e ) {e.printStackTrace( ); }
27 W której z poniższych klas jest błąd i dlaczego
A class Testowa
{
public int x = 10;
public int liczba( ) { return x; }
public static int sliczba ( ) { return x; }
}
B class Testowa
{
public static int x ;
public int liczba( ) { return x; }
public static int sliczba ( ) { return x; }
}
C class Testowa
{
public static int x = 10;
public int liczba( ) { return x; }
public static int sliczba ( ) { return x; }
}
A. Fun. statyczna nie może zwracać niestatycznej zmiennej x.
28 Dlaczego poniższy kod jest błędny
interface Testowa
{
public int x = 10;
public int liczba ( );
public static int sliczba ( );
}
4
public class Test implements Testowa
{
public static void main (String[] arg)
{
Test test = new Test( );
}
}
Brak definicji ciał funkcji zadeklarowanych w interfejsie Testowa w klasie Test.
5