Vorbereitungskurs zur Oracle Certified Java Programmer I & II Zertifizierung

Vorbereitungskurs zur Oracle Certified Java Programmer I & II Zertifizierung

Dauer: 40 Unterrichtsstunden, Tageskurs
Kurssprache: deutsch, Zertifizierung in deutsch oder Englisch
Kosten: siehe Tabelle*  inkl. Zertifizierungsgutschein OCA Programmer I & OCP Programmer II (jeweils € 212,00 *)
*Alle Preise in € exkl. USt.


Die Teilnehmer werden auf die aktuelle Oracle Certified Professional, Java SE8 Programmer I & II Zertifizierung vorbereitet.

Jeder Schulungsteilnehmer erhält ein Exemplar der Bücher

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide
und
OCP Java SE 7 Programmer Study Guide (Oca/Ocp Java 7 Programmer I & II Study Guide)

  • Die Teilnehmer sollten bereits praktische Erfahrung in den Sprachen Java oder C/C++ mitbringen

  • Deklarationen, Initialisation and Scoping
  • Flusskontrolle (Flow control)
  • API-Inhalt (API Contents)
  • Nebenläufigkeit (Concurrency)
  • Objekt-orientierte Konzepte
  • Collections / Generics
  • Grundlagen (Fundamentals)

Deklarationen, Initialisation and Scoping

  • Gültige Identifikatoren in Java und Gültigkeitsbereich (Scope) einer Variablen
  • Paket-bezogene Entwicklung von Klassen, Schnittstellen und Aufzählungen, inklusive abstrakter Klassen, und Klassen, die eine andere Klasse implementieren.
  • Deklaration, Initialisierung und Verwendung von Primitiven, Arrays und Objekten als statische, Instanz- und lokalen Variablen
  • Überladen und Überschreiben einer Methode. Feststellung gültiger Rückgabewerte
  • Entwicklung von Klassenkonstruktoren bei Klassenhierarchie und Feststellung des korrekten Verhaltens eines Konstruktors. Instanzierung von verschachtelten / nicht verschachtelten Klassen


Flusskontrolle (Flow control)

  • Entwicklung mit if und switch Anweisungen
  • Verwendung von for, while und do Schleifen;  von Labels, break und continue
  • Entwicklung mit Assertions. Passende und unpassende Verwendung von Assertions
  • Entwicklung mit Exceptions. Verwendung von try, catch, finally
  • Unterschied zwischen Laufzeit- und geprüfter Exception, sowie Error
  • Erkennung von Situationen, in denen ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError or NoClassDefFoundError ausgelöst werden können.


API Inhalt (API Contents)

  • Entwicklung primitiver Wrapperklassen, Auto- und Unboxing; Unterschied zwischen String, StringBuffer, und StringBuilder Klassen
  • Verwendung der Klassen (auch in Kombination) mit Paket java.io: BufferedWriter, File, FileReader, FileWriter, PrintWriter und Console.
  • Verwendung der Standard-J2SE-APIs im Paket java.text zum korrekten Formatieren oder Parsen von Daten, Zahlen und Währungen, sowie der Klasse java.util.Locale.
  • Verwendung der Standard-J2SE-APIs in den Paketen java.util und java.util.regex zum Formatieren oder Parsen von Strings oder Streams. Entwicklung, die die Klassen Pattern und Matcher, sowie die Methode String.split verwendet. Nutzung regulärer Expressionsmuster . , * , +, \ d, \ s, \ w, [], (), ?


Nebenläufigkeit (Concurrency)

  • Verwendung von java.lang.Thread und java.lang.Runnable zur Definition, Instanzierung und zum Starten neuer Threads
  • Erkennung der möglichen Thread-Zustände und der Übergangswege zwischen verschiedenen Zuständen
  • Implementierung von Objektsperren zum Schutz statischer oder Instanz-Variablen vor gleichzeitigem Zugriff


Objekt-orientierte Konzepte

  • Entwicklung von Codes, die enge Kapselung, freie Kopplung und hohe Kohäsion (tight encapsulation, loose coupling, and high cohesion) implementieren
  • Verwendung von Polymorphie und Casting. Erkennung von mit Casting von Objektreferenzen verbundenen Laufzeit- und Kompiler-Fehlern
  • Wirkung von Modifikatoren auf die Vererbung in Bezug auf Konstruktoren, Instanz- oder statische Variablen und Instanz- oder statische Methoden
  • Deklaration, Entwicklung und Aufruf überschriebener oder überladener Methoden / Konstruktoren
  • Darstellung von "ist-ein" und / oder "hat-ein"-Beziehungen im Code


Collections / Generics

  • Ordnungsgemäße Benutzung der Klassen von Java Collection Framework und der Comparable – Schnittstelle
  • Korrekte und adäquate Implementierung von hashCode()- und equals()-Methoden
  • Entwicklung von Codes, die Set, List und Map , NavigableSet , NavigableMap Schnittstellen implementieren
  • Verwendung von Typparametern, inklusive Wildcardtypen in Klassen- / Schnittstellendeklarationen, Instanzvariablen, Methoden
  • Comparable  und Comparator Schnittstellen. Verwendung vom java.util- Paket beim Sortieren und binären Suchen einer List-Klasse, sowie zur Umwandlung eines Arrays in einer Liste. Auswirkung der "natürliche Reihenfolge" primitiver Wrapper-Klassen und java.lang.String aufs Sortieren


Grundlagen (Fundamentals)

  • Verwendung angemessener Zugangsmodifikatoren,  Paketdeklarationen und import- Anweisungen
  • Ermittlung des Laufzeitsverhalten bei angegebener Klasse und Kommandozeile
  • Auswirkung auf Objektreferenzen und primitive Werte, bei deren Übergabe an Methoden, Zuweisungen oder andere Parameter-modifizierende Operationen
  • Erkennung des Zeitpunkts, ab dem ein Objekt durch Garbage Collector zerstört werden kann. Verhaltensweisen der finalize ()-Methode.
  • Geeignete Verzeichnisstruktur für eine Klasse angesichts des vollständig qualifizierten Namens dieser Klasse. Erfolgreiche Kompilation einer Klasse anhand eines Codebeispiels und eines Klassenpfads
  • Verwendung von arithmetischen, relationalen, logisch bedingten,  instanceof- und Zuweisungsoperatoren. Gleichwertigkeit von zwei Objekten / Primitiven