Premium Partner

SA9

...

...


Kartei Details

Karten 15
Sprache Deutsch
Kategorie Informatik
Stufe Andere
Erstellt / Aktualisiert 16.07.2016 / 16.07.2016
Lizenzierung Keine Angabe
Weblink
https://card2brain.ch/box/sa9
Einbinden
<iframe src="https://card2brain.ch/box/sa9/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Welche Aufgaben müssen noch erledigt werden wenn die eigentliche Implementierung abgeschlossen ist?

  • Performance Optimierung
  • Robustheit
  • Schutz (Lizenzmechanismen, Verschleierungen, Sicherheit)
  • Dokumentation
  • Installer

Nennen Sie vier Performance Metriken.

  • Durchsatz
  • Antwortzeit
  • Skalierbarkeit
  • Speicherverbrauch

Nennen Sie drei Problematiken, die auftreten können und gegen Optimierung sprechen.

  • Funktionierenden Code zu optimieren führt womöglich dazu subtile Fehler einzuführen
  • Code wird schwerer verständlich und schwerer wartbar
  • Optimierung kostet Zeit und bringt oft nur geringen Performance Gewinn
  • Optimierung von Code für eine spezifische Plattform kann diesen auf einer anderen Plattform verschlimmern

Warum ist es wichtig, den Programmcode auf Performance zu optimieren?

  • Limitierte Ressourcen (CPU Zyklen, Speicher, Netzwerkbandbreite)
  • In Java idR. Geschwindigkeit das Hauptproblem
  • In Embedded-Systems ist der Speicher das Hauptproblem
  • In verteilten Systemen kann Netzwerk-Bandbreite ein großes Problem sein

Welche allgemeinen Vorschriften sind bei Optimierung zu beachten?

  • Zuerst das System bauen, anschließend Optimieren
  • Engpässe meist dort, wo man sie nicht erwartet
  • Nur das verbessern, was einen Gewinn bringt
  • Verbesserung der Leistung führt idR zu einer Abnahme der Klarheit des Designs
  • Große Performance-Verbesserungen sind eine Frage der zugrunde liegenden Architektur

Welche Entwurfsmuster tragen zur Optimierung der Leistung bei?

  • Flyweight:
  • Object Pool
  • Prototype
  • Proxy

Nennen Sie 3 Entwurfsmuster zur Performance Verbesserung und kategorisieren Sie diese hinsichtlich der Leistungsoptimierung

  • Flyweight: reduziert den Speicherverbrauch
  • Object Pool: reduziert den Speicherverbrauch
  • Prototype: beschleunigt die Objekterzeugung
  • Proxy: beschleunigt die Kommunikationsgeschwindigkeit

Was versteht man unter einem Flyweight Pattern und nennen Sie ein Beispiel dazu.

  • wird verwendet, wenn eine große Anzahl von Objekten benötigt wird,
  • die sich bestimmte variable Informationen teilen,
  • und eine herkömmliche Implementierung unverhältnismäßig viele Ressourcen erfordert
    —> Speicheroptimierung
  • Bsp.: Moderne Web Browser
    • um zu verhindern, dass zweimal dasselbe Bild geladen wird 
    • Es gibt ein Flyweight-Objekt für jedes bereits geladene Bild
    • Das eigentliche Bild wird nur referenziert