Semesterwoche 7 Flashcards

1
Q

Was ist der Aufrufstack?

A
  • Speicherplatz für lokale Variablen (und Zwischenergebnisse von Ausdrücken); wird stapelartig durch das Laufzeitsystem verwaltet
  • Speichert zur Laufzeit Informationen über die gerade aktiven Methoden in Stackframes
  • Bei Methodenaufruf werden die Rücksprungadresse und die lokalen Variablen in einem neuen Stackframe auf dem Stack gespeichert
  • Bei Terminierung, wird der zugehörige Stackframe vom Stack geräumt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wann ist eine Methode direkt/indirekt rekursiv

A

direkt, wenn sie sich selbst im Rumpf aufruft
indirekt, wenn sie eine Methode aufruft, welche direkt rekursiv ist

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

Was ist der Heap?

A

peicherplatz für dynamisch erzeugte Objekte (mit ihren Exemplarvariablen). Wird explizit vom Entwickler (z.B. new in Java) angefordert.
Die Speicherfreigabe erfolgt explizit (z.B. in C++) oder durch den Garbage Collector (z.B. in Java).

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

Was ist der Garbage Collector?

A

Sammelt nicht mehr benutzte Objekte, löscht Objekte auf denen keine Referenz mehr besteht

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

Welcher Fehler wird produziert, wenn der Heap überlastet ist?

A

OutOfMemoryError

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

Welcher Fehler wird produziert, wenn der Aufrufstack überlastet ist?

A

StackOverflowError

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

Wie werden Programme durch einen Compiler verarbeitet?

A
  • lexikalische Analyse (Tokenliste durch Scanner)
  • Syntaxanalyse (Parser erzeugt aus Tokenfolge einen Syntaxbaum)
  • Dieser wird analysiert und ggf. dekoriert
  • Daraus erzeugt der Codegenerator das ausführbare Maschinenprogramm (bzw. Zielprogramm) und optimiert ggf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie werden Strings auf Element einer Menge definiert durch reinen regulären Ausdruck überprüft?

A

String.matches(regex-ausdruck);

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

Wie wird eine Auswahl an Elementen in regex ermöglicht?

A

durch eckige Klammern
“[a-zA-Z]”

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

Wie gibt man in regex an, dass ein Ausdruck beliebig oft wiederholt werden kann (auch gar nicht)?

A

*
“[a-z]*”

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

Wie gibt man in regex an, dass ein Ausdruck beliebig oft wiederholt werden kann (mind. einmal)?

A

+
“[a-z]+”

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

Wie gibt man in regex an, dass ein Ausdruck entweder einmal oder gar nicht genutzt werden kann?

A

?
“[a-z]?”

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

Wofür steht ein einzelner Punkt in regex?

A

Für ein beliebiges Zeichen

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

Welche relevanten Zeichenklassen gibt es in regex?

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

Welche Quantifizierer in regex gibt es?

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