Teoria 2 parte Flashcards

(75 cards)

1
Q

Dato il seguente frammento di codice JavaFX, indicare quale
comportamento è corretto.

TextField tfd1 = new TextField();
TextField tfd2 = new TextField();
Buton btn = new Button();
BooleanBinding ex =
Bindings.or(tfd1.textProperty().isEmpty(),tfd1.textPropery().isNotEqualTo(tfd2.textPropery)));
btw.disableProperty().bind(ex)

a. il bottone risulta abilitato se i campi di testo sono
e n t r a m b i vuotil
b. il bottone risulta abilitato se il primo campo di testo è
vuoto mentre il secondo è compilato.
c. il bottone risulta abilitato se almeno un campo di testo
n o n e v u o t o
d. il bottone risulta abilitato se i campi di testo sono
compilati identicamente

A

il bottone risulta abilitato se i campi di testo sono
compilati identicamente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quale classe astratta è necessario estendere per
implementare un’applicazione JavaFX?
Scegli un’alternativa:
a. Application
b. Scene
c. Stage
d. Parent

A

Application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quale dei seguenti gruppi di metodi è associato al ciclo di vita
di un’applicazione JavaFX
Scegli un alternativa:
a. start() - stop() - init()
b. launch() - stop() - init()
C. start() - stop() - initialize( )
d. launch() - interrupt() - initialize()

A

init()-start()-stop()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quale delle seguenti affermazioni è corretta?
Scegli un’alternativa:
a. i metodi wait() e notifyAll() sono utilizzati per
consentire di realizzare l’attesa attiva in Java
b. per invocare il metodo wait() su una risorsa condivisa
il thread deve già aver acquisito il mutex della risorsa
C. wait() è un metodo statico della classe Thread e serve
per attendere la disponibilità del mutex di una risorsa
condivisa tra più thread
d. la keyword synchronized serve per liberare il mutex di
una risorsa condivisa tra più thread

A

b

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quale metodo deve essere implementato dalle classi che
implementano l’interface java. io.Serializable?
Scegli un’alternativa:
a. deserialize )
b. s e r i a l )
C. serialize()
d. nessuno tra questi

A

Nessuno tra questi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quale coppia di stream del package java. io conviene utilizzare
per scrivere un’elevata mole di dati testuali in maniera
efficiente?
Scegli un’alternativa:
a. FileOutputWriter e FileBufferedWriter
b. FileOutputStream e BufferedOutputStream
C. ObjectOutputWriter e BufferedWriter
d. Filewriter e BufferedWriter

A

Per alta mole di dati testuali si usa
FileWriter e BufferedWriter (D).

Per grandi dati binari
FileOutputStream e BufferedOutputStream (B)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quali delle seguenti classi non può essere inserita nello spazio
vuoto nel codice seguente?
C o l l e c t i o n String> c = new
c . add (“pen”) ;
c. remove (“pen”);
System.out.println(c.isEmpty)):
Scegli un’alternativa:
a . T r e e S e t
b. TreeMap
C. LinkedList
d. ArayDeque

A

TreeMap.
Il tipo è collection non puoi inserire una mappa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Si supponga di dover mantenere in una struttura dati oggetti di
tipo Automobile. Quali delle seguenti coppie di strutture dati
richiedono che Automobile implementi l’interfaccia Comparable
oppure che venga istanziato un comparator per poter inserire
istanze della classe Automobile nella Colection?
Scegli un’alternativa:
a. HashMap and HashSet
b. ArrayList and ArrayDeque
C. HashMap and TreMap
d. TreMap and Treeset

A

TreeMap e TreeSet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Una classe innestata è una classe dichiarata all’interno di un altra classe

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Una classe anonima è anche innestata ma non ha un nome. Inoltre, per essere dichiarata, deve essere per forza istanziata

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Le classi innestate non sono necessarie per l’Object Orientation

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Una classe innestata deve essere per forza istanziata

A

Falso. Solo le anonime devono per forza essere istanziate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Per Instanziare la classe innestata pubblica a volte bisogna istanziare prima la classe esterna

A

vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

una classe innestata dichiarata private deve dichiarare anche i metodi set e get per poter essere utilizzata da una terza classe

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Una classe innestata non puo avere lo stesso nome della classe che la contiene

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Una classe anonima puo avere lo stesso nome della classe che la contiene

A

Falso. L’anonima non ha nome

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Una classe innestata puo accedere ai membri statici della classe che la contiene solo se è dichiarata statica.

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Una classe innestata non puo essere dichiarata astratta

A

Falso. Uns classe anonima non puo essere dichiarata astratta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

I generics e I tipi parametro sono la stessa cosa

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Un vantaggio principale dei generici è che permettono di individuare bachi come quelli provocati da una ClassCastException a runtime, durante la complilazione

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Le collection possono essere usate anche senza specificare i tipi parametro. In tal caso si parla di raw type.

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

L’ereditarietà ignora i tipi parametro

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Le wildCard si usano quando non abbiamo tipi parametrici a disposizione da usare.

A

Vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Se creiamo un tipo generico con tipo parametro <E>, possiamo usare lo stesso parametro anche nei metodi dichiarati nel tipo.</E>

A

vero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Nei metodi generici il tipo parametro viene messo come parametro di input del metodo.
Falso
26
char c = new String("Pippo"); Compila senza errori?
Falso
27
int c = new Integer (1) + 1 + new character('a'); Compila senza erroi
Vero
28
Le regole dell'overload non cambiano con l'introduzione di autoboxing e unboxing
Vero
29
Le istanze della classe Integer sono immutabili. Non è possibile mutare il proprio stato interno una volta istanziate
Vero
30
La classe Runtime dipende strettamente dal sistema operativo su cui si esegue
Vero
31
La classe Class permette di leggere di una classe partendo dal nome della classe grazie al metodo forName()
Vero
32
Mediante la classe Class è possibile stanziare oggetti di una certa classe conoscendo solo il nome
Vero
33
La clonazione di oggetti richiede necessariamente una chiamata al metodo clone
Falso
34
La classe Math non si puo instanziare in quanto astratta
Falso. NON si puo istanziare, perché ha un costruttore privato.
35
Un thread è un oggetto istanziato dalla classe Thread o dalla classe Runnable
Falso
36
Il multiThread è solitamente una caratteristica dei sistemi operativi e non dei linguaggi di programmazione
Vero
37
In ogni applicazione runtime esiste almeno un thread in esecuzione
Vero
38
A parte il thread principale, un thread ha bisogno di eseguire codice all'interno di un oggetto la cui classe estende runnable o estende thread
Vero
39
Il metodo run deve essere chiamato dal programmatore per attivare un thread
Falso
40
Il thread concorrente non si identifica solo con il reference this
Vero
41
Chiamando il metodo start su un thread, questo viene immediatamente eseguiti
Falso
42
Il metodo sleep è statico e permette di far dormire un numero specificato di millisecondi il thread che legge tale istruzione
Vero
43
Assegnare priorità a dei thread, è un attività che puo produrre risultati diversi su piattaforme diverse
Vero
44
Lo scheduler della JVM non dipende dalla piattaforma su cui viene eseguito.
Falso
45
Un thread astrae un processo virutale che esegue codice su determinati dati
Vero
46
La parola chiave synchronized puo essere utilizzata sia come modificatore di una metodo, sia di una variabile
Falso
47
Il monitor di un oggetto puo essere identidficato con la parte sincronizzata dell'oggetto stesso.
Vero
48
Affinchè due thread che eseguano lo stesso codice e condividano gli stessi dati non abbiano prolemi di concorrenza, è necessario sincronizzare il codice comune
Falso
49
Si dice che un thread ha il Lock di un oggetto se entra nel suo monitor
Vero
50
I metodi wait() notify e notify all rappresetnano il principale strumento per far comunicare piu thread.
Vero
51
I metodi suspend() e resume() sono deprecati
Vero
52
Il metodo notifyAll, invocato su di un certo oggetto o1, risveglia dallo stato di pausa tutti i thread che hanno invocato wait() sullo stesso oggetto. Tra questi verrà eseguito quello che era stato fatto aprtitre per primo con il metodo start()
Falso (parte quello a priorità piu alta)
53
Il deadlock è una condizione di errore bloccante generata da due thread che stanno in reciproca dipendenza in due oggetti sincronizzati
Vero
54
Se un thread t1 esegue run() nell'oggetto o1 della classe c1, e un thread t2 esegue run() nell'oggetto o2 della stessa classe c1, la parola chiave synchronized non serve a niente
Vero
55
Collection, Map, SortedMap, Set, List e SortedList sono interfacce e non possono essere istanziate
Vero
56
Un Set è una collezione ordinata di oggetti; una List non ammette duplicati ed è ordinata
Falso
57
Le mappe non possono contenere chiavi duplicate ed ogni chiave può essere associata ad un solo valore.
vero
58
Esistono diverse implementazioni astratte da personalizzare nel framework come AbstractMap
Vero
59
Una HashMap è più performante rispetto ad una HashTable perchè non è sincronizzata
Vero
60
Una HashMap è più performante rispetto ad una TreeMap ma quest'ultima essendo un'implementazione di SortedMap, gestisce l'ordinamento
Vero
61
HashSet è più performante rispetto a Treeset ma non gestisce l'ordinamento
Vero
62
Iterator e Enumeration hano lo stesso ruolo ma quest'ultima permette durante le iterazioni di rimuovere anche elementi
Falso
63
ArrayList ha prestazioni migliori rispetto a Vector, perchè non è sincronizzata, ma entrambe hanno meccanismi per ottimizzare le prestazioni
Vero
64
è possibile decorare un FileReader
Vero
65
I reader e Writer permettono di scrivere caratteri. Perciò sono detti character Stream
Vero
66
All’interno del package java.io l’interfaccia InputStream ha il ruolo di ConcreteDecorator
Falso
67
All’interno del package java.io la classe BufferedReader ha il ruolo di ConcreteDecorator
Vero
68
transient è un modicatore applicabile a variabili e classi. Una variabile transient non viene serializzata con le altre variabili; una classe transient non è serializzabile
Vero Si applica solo a variabili e classi.
69
I metodi wait, notify e notifyAll sono deniti nella classe Thread
Falso - Definiti nella classe Object
70
È possibile utilizzare synchronized come modicatore solo con i metodi.
Vero
71
Il mutex di un oggetto è costituito dalla parte dell’oggetto sincronizzata.
Vero
72
La classe Thread estende Runnable
Falso
73
Per visualizzare un’interfaccia graca bisogna utilizzare un oggetto Stage posizionato su un oggetto Scene.
Falso
74
Il binding permette a due oggetti che deniscono delle property JavaFX di legarsi e aggiornare il loro stato in base all’aggiornamento dell’altro oggetto
Vero
75