Java-Performance Schulung
Dieser Kurs richtet sich an Java-Entwickler, die effiziente Anwendungen erstellen möchten. Nach Rücksprache mit dem Kunden kann der Kurs in einer speziellen Tool-Version durchgeführt werden, für Personen, die lediglich Leistungsprobleme erkennen müssen (Tester, Administratoren) – in diesem Fall ist keine Programmierung in Java erforderlich.
Während der Schulung lernen die Teilnehmenden Prozesse und moderne Tools zur Erstellung effizienter Software in Java kennen. Sie erfahren über typische Performance-Fallen, Benchmarking, Profiling, Tuning, Speicheranalyse sowie Performance-Tricks mit Collections oder IO. Die vermittelten Themen und Tools sind unabhängig von den im Projekt verwendeten Technologien einsetzbar, da wir uns auf die Performance auf Sprachebene sowie auf integrierte Libraries konzentrieren. Beim Tuning werden die von Oracle bereitgestellten JVM-Parameter diskutiert.
Schulungsübersicht
Einführung
Übersicht zur Performance der Java Virtual Machine
- Java-Speichermodell
- Just-in-Time-Compiler
- Performance-Methodik
Java Garbage Collection
- GC-Grundlagen
- Algorithmen der Garbage Collection
- Arten von GC-Collectors
JVM-Monitoring
- Kommandozeilen-Monitoring
- Java Flight Recorder und Mission Control
- Profiling-Tools
Microbenchmarking
- JMH-Microbenchmark-Framework
- Erstellung und Konfiguration eines Benchmarks
- Ausführung und Interpretation der Ergebnisse
JVM-Tuning
- Speicher-Tuning
- Auswahl des GC-Typs
Zusammenfassung und nächste Schritte
Voraussetzungen
- Programmierung in Java
Zielgruppe
- Java-Entwickler
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.
Java-Performance Schulung - Buchung
Java-Performance Schulung - Anfrage
Java-Performance - Beratungsanfrage
Erfahrungsberichte (2)
Der Trainer war gut darin, die Themen detailliert zu erläutern und sie leicht verständlich zu machen.
Lewis Nangle - AquaQ Analytics
Kurs - Java Performance
Maschinelle Übersetzung
-Codebeispiele halfen wirklich beim Verstehen -Fulvio kam sehr wissbegierig und kompetent rüber und erklärte alles ausführlich
Paul Doherty - AquaQ Analytics
Kurs - Java Performance
Maschinelle Übersetzung
Kommende Kurse
Kombinierte Kurse
Java Fortgeschritten
28 StundenWährend des Trainings lernen die Teilnehmer den spezifischen Einsatz ausgewählter Themen, die grundlegenden Probleme, die bei ihrer Anwendung auftreten, und die Rolle der Anwendungsmodelle kennen. Das Training beinhaltet auch grundlegende Kenntnisse über die Standardbibliotheksfunktionen der Sprache. Für das Training werden Kenntnisse der zur Entwicklung von Java-Anwendungen verwendeten IDE-Entwicklungsumgebung vorausgesetzt (z. B. Eclipse, Netbeans). Das Training schließt Themen der Benutzeroberfläche aus.
Erweiterte Java-Sicherheit
21 StundenAuch erfahrene Java-Programmierer beherrschen nicht automatisch sämtliche von Java angebotenen Sicherheitsdienste und sind sich ebenfalls der verschiedenen Schwachstellen, die für in Java geschriebene Webanwendungen relevant sind, oft nicht bewusst.
Der Kurs – neben der Einführung der Sicherheitskomponenten der Standard Java Edition (SE) – befasst sich mit Sicherheitsfragen der Java Enterprise Edition (JEE) und von Webdiensten. Der Diskussion spezifischer Dienste gehen Grundlagen der Kryptografie und sicherer Kommunikation voraus. Verschiedene Übungen befassen sich mit deklarativen und programmatischen Sicherheitstechniken in JEE, wobei sowohl die Sicherheitsmechanismen auf Transportebene als auch End-to-End-Sicherheit bei Webdiensten behandelt werden. Die Anwendung aller Komponenten wird durch mehrere praktische Übungen vorgestellt, bei denen die Teilnehmenden die diskutierten APIs und Tools selbst ausprobieren können.
Der Kurs durchleuchtet und erklärt zudem die häufigsten und schwerwiegendsten Programmierfehler der Java-Sprache und -Plattform sowie webbezogene Schwachstellen. Neben den typischen Fehlern, die von Java-Programmierern begangen werden, decken die vorgestellten Sicherheitslücken sowohl sprachen spezifische Probleme als auch Schwierigkeiten ab, die aus der Laufzeitumgebung resultieren. Alle Schwachstellen und die relevanten Angriffe werden anhand leicht verständlicher Übungen demonstriert, gefolgt von empfohlenen Coding-Richtlinien und möglichen Abschwächungstechniken.
Teilnehmende dieses Kurses werden
- Begriffe rund um Sicherheit, IT-Sicherheit und sicheres Programmieren verstehen
- Schadenspotenziale von Webanwendungen jenseits der OWASP Top Ten kennenlernen und wissen, wie man diesen ausweicht
- Sicherheitskonzepte von Webdiensten verstehen
- Lernen, verschiedene Sicherheitsfunktionen der Java-Entwicklungsumgebung zu nutzen
- Ein praktisches Verständnis von Kryptografie entwickeln
- Sicherheitslösungen von Java EE verstehen
- Sich über typische Programmierfehler informieren und lernen, wie man diese vermeidet
- Informationen zu einigen jüngsten Schwachstellen im Java-Framework erhalten
- Praktische Kenntnisse im Umgang mit Sicherheitstestwerkzeugen erwerben
- Quellen und weiterführende Literatur zu sicheren Programmierpraktiken erhalten
Zielgruppe
Entwickler/innen
Design Patterns (GoF) für Java
21 StundenDiese live geleitete Schulung in Schweiz (online oder vor Ort) richtet sich an Java-Entwickler mit mittlerem Kenntnisstand, die Design Patterns anwenden möchten, um die Struktur, Wartbarkeit und Skalierbarkeit ihrer Software zu verbessern.
Nach Abschluss dieser Schulung werden die Teilnehmer in der Lage sein:
- Den Zweck und die Vorteile von Design Patterns zu verstehen.
- Erzeugungs-, Strukturmuster und Verhaltensmuster effektiv in Java anzuwenden.
- Die Wiederverwendbarkeit, Skalierbarkeit und Wartbarkeit des Codes zu verbessern.
- Bestehende Codebasen mit Hilfe von Design Patterns umzugestalten.
Groovy-Programmierung
21 StundenApache Groovy ist eine dynamische Programmiersprache für die JVM (Java Virtual Machine). Zu ihren Merkmalen zählen scriptingfähige Funktionen, die Erstellung domänenspezifischer Sprachen (DSL), Metaprogrammierung zur Laufzeit und Kompilierzeit sowie funktionale Programmierung. Groovy wird häufig als Ergänzung zu Java eingesetzt.
In diesem von einem Dozenten geleiteten Live-Training lernen die Teilnehmer die Programmierung in Groovy am Beispiel der Entwicklung einer Anwendungsstruktur kennen.
Zielgruppe
- Entwickler
Kursformat
- Vortrag, Diskussion, Übungen und intensive praktische Arbeit
Groovy-Programmierung für Anfänger
14 StundenDieser vom Dozenten geleitete Live-Training in Schweiz (online oder vor Ort) richtet sich an Entwickler auf Anfängerniveau, die die Grundlagen der Groovy-Programmierung erlernen möchten.
Nach Abschluss dieses Trainings können Teilnehmer:
- Die grundlegenden Programmierkonzepte verstehen.
- Einfache Groovy-Skripte schreiben und die Kernfeatures von Groovy nutzen.
- Die grundlegenden Prinzipien der objektorientierten Programmierung mit Groovy verstehen und anwenden.
- Basics des Error-Handlings lernen, um häufige Programmierfehler und Ausnahmen in Groovy zu bewältigen.
Java-Mikrodienste
21 StundenDiese live durchgeführte Schulung in Schweiz (online oder vor Ort) richtet sich an Java-Entwickler mit mittleren Kenntnissen, die Mikrodienste-basierte Anwendungen mit Java-Frameworks wie Spring Boot und Spring Cloud entwerfen, entwickeln, bereitstellen und warten möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die Prinzipien und Vorteile der Mikrodienste-Architektur zu verstehen.
- Mikrodienste mit Java und Spring Boot zu erstellen und bereitzustellen.
- Dienstentdeckung, Konfigurationsmanagement und API-Gateways zu implementieren.
- Mikrodienste effektiv zu sichern, zu überwachen und zu skalieren.
- Mikrodienste mit Docker und Kubernetes bereitzustellen.
Microservices mit Spring Boot, Docker und Kubernetes aufbauen
21 StundenDiese live unterrichtete Schulung in Schweiz (online oder vor Ort verfügbar) richtet sich an Entwickler mit mittlerem bis fortgeschrittenem Niveau, die die Entwicklung von Microservices mittels Spring Boot, Docker und Kubernetes meistern möchten.
Nach Abschluss dieser Schulung sind die Teilnehmer in der Lage:
- Die Prinzipien der Microservice-Architektur zu verstehen.
- Produktionsreife Microservices mit Spring Boot zu erstellen.
- Die entscheidende Rolle von Docker beim Containerisieren von Microservices nachzuvollziehen.
- Kubernetes-Cluster für die Bereitstellung und Orchestrierung von Microservices zu konfigurieren.
Quarkus für Entwickler
14 StundenDiese dozentengeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Entwickler, die Quarkus nutzen möchten, um Anwendungen mit voller Java-Leistungsfähigkeit zu erstellen, zu testen und bereitzustellen – jedoch mit geringerem Ressourcenverbrauch.
Nach Abschluss dieser Schulung können die Teilnehmenden:
- die erforderliche Entwicklungsumgebung einrichten, um mit der Anwendungsentwicklung auf Quarkus zu beginnen.
- Anwendungen im nativen Modus unter Verwendung von GraalVM erstellen, kompilieren und ausführen.
- Quarkus-Tooling und -Erweiterungen für den Aufbau nativer Anwendungen mit Maven nutzen.
- Anwendungen mit Docker containerisieren, ausführen und bereitstellen.
Quarkus für Java Native und Microservice-Entwicklung
40 StundenDieser von Lehrkräften geleitete, lebende Kurs in Schweiz (online oder vor Ort) richtet sich an Entwickler und Architekten mit fortgeschrittenen bis grundlegenden Kenntnissen, die Java Native-Anwendungen und Microservices mit Quarkus unter Optimierung des Speicherverbrauchs und der Startzeit entwickeln möchten.
Am Ende dieses Kurses werden die Teilnehmer in der Lage sein:
- Hochleistungsfähige, leichte Java Native-Anwendungen mit Quarkus zu entwickeln.
- RESTful Services und Microservice-Architekturen zu erstellen und bereitzustellen.
- GraalVM für native Kompilierung zu nutzen und Startzeit sowie Speichereffizienz zu optimieren.
- Anwendungen für Kubernetes- und OpenShift-Umgebungen zu verpacken und zu containerisieren.
RabbitMQ mit Java und Spring
14 StundenDiese instruktionsgeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Softwarearchitekt*innen und Webentwickler*innen, die RabbitMQ als Messaging-Middleware nutzen und Anwendungen mit Java und Spring programmieren möchten.
Nach Abschluss dieser Schulung können Teilnehmende:
- Java und Spring mit RabbitMQ zum Erstellen von Anwendungen verwenden.
- asynchrone nachrichtengesteuerte Systeme mit RabbitMQ entwerfen.
- Warteschlangen, Topics, Exchanges und Bindings in RabbitMQ erstellen und anwenden.
Spring Boot, React und Redux
14 StundenDiese instruktionsgeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Webentwickler, die funktionale Frontend- und Backend-Webanwendungen mit Spring Boot, React und Redux erstellen möchten.
Nach Abschluss dieser Schulung können die Teilnehmer Folgendes tun:
- Frontend-Anwendungen mit React und Redux erstellen.
- RESTful-APIs mit Spring Boot entwickeln.
- Webdienste mit Spring Security und JWT-Web-Token absichern.
Spring 5
21 StundenDiese Dozenten-gestützte, live Schulung in Schweiz (online oder vor Ort) richtet sich an Java-Entwickler, die das Spring 5 Framework nutzen möchten, um unternehmenskritische Webanwendungen zu entwickeln und bereitzustellen.
Nach Abschluss dieser Schulung werden die Teilnehmer in der Lage sein:
- Spring 5 zu installieren und zu konfigurieren.
- Die neuesten Funktionen von Spring 5 zu verstehen und umzusetzen.
- Datenbanken mit einer Spring-Anwendung anzusprechen.
- Das neue reaktive Webframework WebFlow zu verwenden, um eine Anwendung reaktiv zu gestalten.
- Eine Spring-Anwendung in bestehende Java-EE-Anwendungen zu integrieren.
- Eine unternehmensreife Spring-Anwendung zu testen und bereitzustellen.
Spring-Grundlagen mit Spring Boot 3.5.5 und Java 21
14 StundenSpring ist ein umfassendes Java-Framework, das die Entwicklung von Enterprise-Anwendungen vereinfacht, indem es leistungsstarken Dependency Injection, eine modulare Architektur und optimierte Konfigurationsmöglichkeiten bietet.
Diese vom Instructor durchgeführte Live-Schulung (online oder vor Ort) richtet sich an Java-Entwickler auf Anfängerniveau, die moderne, produktionsreife Webanwendungen mit der neuesten Version des Spring Frameworks und Spring Boot 3.5.5 in Kombination mit Java 21 erstellen möchten.
Nach Abschluss dieser Schulung werden die Teilnehmer:
- Die Kernprinzipien von Spring verstehen, einschließlich IoC, DI und AOP.
- Spring-Anwendungen mittels XML, Annotationen und JavaConfig konfigurieren können.
- RESTful Services mit Spring Boot und JPA entwickeln können.
- CRUD-Operationen implementieren, Transaktionen handhaben und die Datenpersistenz verwalten können.
- Erweiterte Spring-Features wie Profiles, Exception Handling und Daten-Serialisierung nutzen können.
Kursformat
- Kurze theoretische Einführung gefolgt von umfangreichen praktischen Übungen.
- Praktische Implementierung an praxisnahen Beispielen.
- Interaktive Diskussion und angeleitetes Troubleshooting.
Möglichkeiten zur Kursanpassung
- Um eine maßgeschneiderte Schulung für diesen Kurs anzufordern, kontaktieren Sie uns bitte zur Vereinbarung.
Spring WebFlux: Reaktive Programmierung für skalierbare Webanwendungen
35 StundenSpring WebFlux ist ein Modul der reaktiven Programmierung innerhalb des Spring Frameworks, das zum Aufbau nicht-blockierender, ereignisgesteuerter Webanwendungen konzipiert ist.
Dieses von Instructoren geleitete Live-Training (online oder vor Ort) richtet sich an Java-Entwicklerinnen und -Entwickler mit Anfänger- bis fortgeschrittenem Niveau, die skalierbare und reaktionsfähige Anwendungen mit Spring WebFlux erstellen möchten.
Nach Abschluss dieses Trainings können die Teilnehmer:
- Die Grundlagen der reaktiven Programmierung mit Project Reactor verstehen.
- Nicht-blockierende RESTful-APIs mit Spring WebFlux erstellen und testen.
- WebFlux in Datenbanken und externe Dienste integrieren.
- Reaktive Muster in realen Anwendungsszenarien anwenden.
Format des Kurses
- Interaktiver Vortrag und Diskussion.
- Viel Übung und Praxis.
- Praktische Implementierung in einer Live-Lab-Umgebung.
Optionen zur Kursanpassung
- Für ein maßgeschneidertes Training zu diesem Kurs kontaktieren Sie uns bitte, um die Einzelheiten zu vereinbaren.
Spring WebFlux
14 StundenDiese instruktionsgeleitete, Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Entwickler, die WebFlux nutzen möchten, um reaktive Anwendungen zu entwickeln und bereitzustellen.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Spring 5 und das WebFlux-Framework zu installieren und zu konfigurieren.
- Reaktive Anwendungen und Dienste zu entwickeln.