Java Advanced - Java o wysokiej wydajności

Java Advanced - Java o wysokiej wydajności

Celem szkolenia jest omówienie różnych metod profilowania, znajdowania wąskich gardeł, strojenia maszyny wirtualnej, ustawiania flag JVM, serializacji i bibliotek buforujących.
Kod: JVA-076
Czas trwania: 40 godzin

Opis szkolenia

Celem szkolenia jest omówienie różnych metod profilowania, znajdowania wąskich gardeł, strojenia maszyny wirtualnej, ustawiania flag JVM, serializacji i bibliotek buforujących. Omówione zostanie także przechowywanie danych poza stertą, wykonywanie analiz porównawczych, monitorowanie i strojenie pamięci oraz wiele innych tematów.

Plan szkolenia

• Omówienie tuningu wydajności o Powszechnie stosowane praktyki o Strategie dostrajania o Metryki wydajności (opóźnienie, przepustowość, szerokość pasma) o Jak poprawić wydajność o Narzędzia do pomiaru wydajności o JMeter o Tworzenie testów obciążeniowych opartych na JMeter o Jak poprawić wydajność poprzez architekturę o Najlepsze praktyki powszechnie stosowane do poprawy wydajności kodu • Algorytmy GC o Wykorzystanie pamięci przez obiekty Javy o Wspólne metody i algorytmy garbage collectorów (GC) o Szeregowy GC o Równoległy GC o Kolektor CMS o Kolektor G1 o Kolektor Shenandoah o Dostrajanie garbage collectorów o Narzędzia do zbierania metryk odśmiecania o Jak wybrać optymalny garbage collector • Kompilator HotSpot JIT o Kompilacja JIT o Kod bajtowy Javy o Kompilacja warstwowa o Pamięć podręczna i dostrajanie kodu o Optymalizacje kodu o Deoptymalizacja kodu (i kiedy następuje) o Narzędzie JITWatch do analizy wyników kompilacji o Rodzaje optymalizacji o Optymalizacje spekulacyjne o Dostrajanie kompilatora o Kompilacja AOT • Flagi JVM o Przeznaczenie i kategorie flag JVM o Wspólne flagi o Flagi związane z ciągami znaków o Flagi zarządzania pamięcią o Punkty bezpieczeństwa i powiązane flagi o TLAB i związane z nimi flagi o Plan dostrajania JVM • Benchmarking Javy z użyciem JMH o Czym jest benchmarking? o Wprowadzenie do JMH o API JMH o Niebanalne przykłady o Ćwiczenia z JMH • Używanie pamięci poza stertą o Czym jest sun.misc.Unsafe? o Metody Unsafe o Wydajność pamięci natywnej o Tworzenie struktur danych w pamięci natywnej o Pomiary wydajności pamięci natywnej (i porównanie z pamięcią na stercie) o API dostępu do pozostałej pamięci poza stertą • Serializacja o Serializatory JSON (GSON, Jackson) o Serializatory binarne (Protobuf, Jackson Smile, Kryo, FST, One NIO) o Porównanie wydajności różnych serializatorów • Profilowanie Javy o Kiedy i jak wykonywać profilowanie o Profilery próbkowania i instrumentacji o Używanie Java VisualVM do profilowania o Profilowanie przy użyciu Spring AOP o Profilowanie przy użyciu IDEA i profilera async o Java Flight Recorder o Analiza logów Java Flight Recorder przy użyciu Mission Control o Tworzenie i logowanie niestandardowych zdarzeń JFR o Stosowanie agentów Java wstrzykiwanych do kodu (w celu rejestrowania zdarzeń w Java Flight Recorder) o Pisanie programów do automatycznej analizy logów JFR o Zbieranie i analizowanie zapytań SQL przy użyciu JFR o Zbieranie i analizowanie zapytań REST przy użyciu JFR • Monitorowanie i analiza danych sterty / Przecieki pamięci o Narzędzia do analizy danych sterty o Objawy przecieków pamięci o Główne przyczyny przecieków pamięci o Wyszukiwanie i wykrywanie przecieków pamięci • GraalVM o Ekosystem GraalVM o Środowiska uruchomieniowe GraalVM o Polyglot API o Kompilacja i natywny obraz o Benchmarki • Buforowanie w Javie o Wzorce buforowania o Porównanie API do buforowania o Buforowanie zapytań do bazy danych o Buforowanie HTTP o Podstawowe metryki i ustawienia bibliotek buforujących o Porównanie popularnych bibliotek buforujących o Buforowanie na poziomie usług o Buforowanie usług Springa o Aplikacje wykorzystujące buforowanie na różnych warstwach • Omówienie innych metod poprawy wydajności o Programowanie równoległe (pule wątków, strumienie równoległe, framework fork-join) o Programowanie asynchroniczne o Programowanie reaktywne (Reactor, VertX) o Optymalizacja dostępu do bazy danych o Przetwarzanie w chmurze (mikroserwisy, Spring Cloud) o Benchmarki i wnioski

Cele

  • Wprowadzenie do nowoczesnych metod poprawy wydajności aplikacji w Javie

Grupa docelowa

  • Programiści Java
  • Architekci Java

Harmonogram w Online Cennik
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 3520 zł
Bucharest 3520 zł
Kraków 3520 zł
Wroclaw 3520 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

Szkolenia, które mogą Cię zainteresować:

Zarejestruj się na następne szkolenie

* - Wymagane pola
Imię*
Nazwisko*
Firma
Email*
Preferred Location
Numer telefonu*
Twój komentarz
Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.