Klausurfragen - Teil 1 Flashcards

(10 cards)

1
Q

Was ist der Unterschied zwischen Callables & Runnables?

A

Der Unterschied zwischen Callables und Runnables liegt in ihrer Rückgabe und Ausnahmebehandlung:

  • Runnable: Hat keine Rückgabe (void) und kann keine geprüften Ausnahmen (checken exceptions) werfen.
  • Callable: Gibt ein Ergebnis zurück (Generics <T>) und kann geprüfte Ausnahmen (checked exceptions) werfen.</T>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist der Unterschied zwischen Private und Protected?

A
  • Private: Die Methode oder das Attribut ist nur innerhalb der gleichen Klasse sichtbar.
  • Protected: Die Methode oder das Attribut ist in der gleichen Klasse, in Subklassen und innerhalb des gleichen Pakets sichtbar.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist eine abstrakte Klasse?

A

Eine abstrakte Klasse ist eine Klasse, die nicht direkt instanziiert werden kann. Sie dient als Vorlage für Subklassen.

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

System.out.println() alle Therme erklären

A
  • System: Eine Klasse aus dem java.lang Paket, die grundlegende Systemfunktionen bereitstellt.
  • out: Eine statische Instanzvariable von System, die eine Instanz von PrintStream repräsentiert.
  • println(): Eine Methode der PrintStream-Klasse, die den übergebenen Wert ausgibt und einen Zeilenumbruch anhängt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist der Nachteil beim Try-Catch-Finally-Block?

A

Ein Nachteil des try-catch-finally-Block ist die Leistungs- und Wartungseinbuße

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

Wie ist die Sichtbarkeit beim Enum Constructor?

A

Der Konstruktor eines Enums ist immer privat, da sie instanzkontrolliert sind

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

Warum kann man auf ein Objekt nicht zugreifen, wenn man private, package, private oder protected nutzt?

A

Weil die Sichtbarkeit von Objekten durch Zugriffsmodifikatoren geregelt ist

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

Welche Probleme können bei „Synchronize“ auftreten?

A
  1. Deadlocks: Zwei Threads warten aufeinander und blockieren sich gegenseitig.
  2. Performance-Einbußen: Synchronisation reduziert die Parallelität, da nur ein Thread zur gleichen Zeit Zugriff hat.
  3. Race Conditions (trotz Synchronisation): Wenn mehrere Locks verwendet werden, können unsichere Zustände entstehen.
  4. Starvation: Ein Thread erhält keinen Zugriff, weil andere Threads ständig bevorzugt werden.
  5. Overhead: Synchronisierung verursacht zusätzlichen Verwaltungsaufwand und erhöht den Ressourcenverbrauch.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Dining Philosophers -> Welche Situationen können auftreten?

A
  1. Deadlock: Jeder Philosoph hält eine Gabel und wartet auf die zweite -> keiner kann essen.
  2. Starvation (Verhungern): Ein Philosoph bekommt nie Zugriff auf beide Gabeln, da andere bevorzugt werden.
  3. Livelock: Philosophen geben die Gabeln immer wieder auf und greifen sie gleichzeitig wieder -> kein Fortschritt.
  4. Fairness-Probleme: Manche Philosoph*innen essen öfter als andere, wenn das Scheduling unfair ist.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist besser beim Liste erstellen?

<List> listOne = new <ArrayList>;
<ArrayList listTwo = new <ArrayList>;
</ArrayList></ArrayList></List>

A

<List> listOne = new <ArrayList>;
Immer das Interfa
* Flexibilität
* Bessere Wartbarkeit
* Polymorphismus
</ArrayList></List>

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