Wydajność w Java - Plan Szkolenia

Kod kursu

javaperf

Czas trwania

35 godzin (zwykle 5 dni wliczając przerwy)

Wymagania

Programowanie w Java.

Opis

Kurs przeznaczony jest dla programistów Java chcących wytwarzać wydajne aplikacje. Po konsultacjach z klientem kurs może zostać zrealizowany w specjalnej wersji narzędziowej, dla ludzi, którzy muszą jedynie wykrywać problemy wydajnościowe (testerzy, administracja) - w takim przypadku umiejętność programowania w Java jest zbędna.

W ramach szkolenia uczestnicy poznają proces oraz nowoczesne narzędzia do wytwarzania wydajnego oprogramowania w Java. Uczą się pułapek związanych z wydajnością, benchmarkowana, profilowania, tuningowania, analizy pamięci, sztuczek wydajnościowych przy użyciu kolekcji czy IO. Poznawane tematy i narzędzia nadają się do zastosowania bez względu na używane w projekcie technologie, ponieważ skupiamy się na wydajności na poziomie języka, narzędzi i bibliotek wbudowanych. Tuningowanie omawia parametry JVM dostarczanej przez Oracle.

Plan Szkolenia

Podstawy i pomiary wydajności

  • Wydajność i jej wymiary
  • Proces tworzenia wydajnego oprogramowania
  • Czynniki wpływające na wydajność
  • Micro i Macro-Benchmarking
  • Profilowanie
  • Użycie narzędzi: JConsole, Java Visual VM, JMC (Java Mission Control), MAT (analiza pamięci)

Wydajna praca na plikach

  • IO: strumienie, buforowanie, RandomAccessFile
  • NIO: kanały, odwzorowanie plików w pamięci
  • NIO.2 (wstęp): Path, Files
  • Zwiększanie wydajności serializacji

Praca na kolekcjach i tablicach

  • Złożoność obliczeniowa, czyli jak dobierać algorytmy
  • Rekurencja, iteracja i heurystyki
  • Wydajność zbiorów, list, kolejek, map
  • Widoki i klasa Collections
  • Przegląd kolekcji wielowątkowych (java.util.concurrent)
  • Tablice i kolekcje na typach prostych

JMH jako zatwierdzony microbenchmak framework dla Java

  • Tworzenie projektu i benchmarków JMH
  • Konfiguracja, uruchomienie, wyniki
  • Benchmarki współbieżne i parametryzowalne
  • Pułapki i zaawansowane elementy JMH

Ładowanie klas

  • Klasa Class, ClassLoader i proces ładowania klas
  • Kiedy kontrolować ładowanie klas?
  • Opóźnianie ładowana klas i redukcja ilości klas
  • Refleksja i dynamiczne proxy
  • Wstęp do modułów (Java 9)

Zarządzanie pamięcią w Java

  • Garbage Collector i cykl życia obiektu
  • Referencje silne, soft, weak i phantom
  • Jak powstaje wyciek pamięci i czego unikać w Javie
  • Generacje i obszary pamięci
  • Strojenie Garbage Collector
  • Rodzaje Garbage Collector: Serial, Parallel, Concurrent, G1
  • Zmiany w Java 8 i Java 9

Maszyna wirtualna Javy

  • Tryby client i server
  • Tuningowanie JVM
  • Zmiany wydajności z wersji na wersję

Wstęp do optymalizacji dla HTTP (OPCJONALNE)

  • Problemy z optymalizacją po stronie serwera
  • Testowanie po HTTP: HttpUnit, JWebUnit, Selenium
  • Pomiary wydajności po HTTP: Grinder, JMeter
  • Dodatkowe informacje o JMeter

Problemy z optymalizacją

  • Problemy Micro-benchmarków
  • Przedwczesna optymalizacja
  • Zachłanność
  • Inne złe praktyki

Opinie uczestników

★★★★★
★★★★★

Powiązane Kategorie

Szkolenia Powiązane

Kursy w promocyjnej cenie

Newsletter z promocjami

Zapisz się na nasz newsletter i otrzymuj informacje o aktualnych zniżkach na kursy otwarte.
Szanujemy Twoją prywatność, dlatego Twój e-mail będzie wykorzystywany jedynie w celu wysyłki naszego newslettera, nie będzie udostępniony ani sprzedany osobom trzecim.
W dowolnej chwili możesz zmienić swoje preferencje co do otrzymywanego newslettera bądź całkowicie się z niego wypisać.

Zaufali nam

is growing fast!

We are looking to expand our presence in Poland!

As a Business Development Manager you will:

  • expand business in Poland
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

This site in other countries/regions