VOUCHERY: Wykorzystaj budżet szkoleniowy 2024 w przyszłym roku. Nie wykorzystałeś tegorocznego budżetu szkoleniowego? Nic straconego! Zakup vouchera umożliwia wykorzystanie budżetu w jednym okresie rozliczeniowym, a zrealizowanie go w innym. Dowiedz się więcej


Wydajność w języku Java

by:
Czas trwania 5 dni

Najbliższe terminy tego szkolenia

24.02 28.02 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
26.05 30.05 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się

Szkolenie
dedykowane
dla Twojego
zespołu

Cena szkolenia 3000 PLN (netto)

Standardy JSystems

  1. Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
  2. Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
  3. Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
  4. Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Zapisz się
Program szkolenia
  1. Jak tworzyć wydajne oprogramowanie
    • Wydajność ma wymiary
    • Nie tylko pomiar, czyli subiektywne odczuwanie wydajności
    • Proces tworzenia wydajnego oprogramowania
    • Czynniki wpływające na wydajność w Javie
  2. Techniki pomiaru wydajności
    • Problemy
    • Benchmarking w skali micro i macro
    • Czym jest profilowanie
    • Graficzne i tekstowe narzędzia do profilowania/monitoringu
    • Praca z wybranymi narzędziami: JFR w JMC czy VisualVM, JConsole, MAT
  3. Wydajny odczyt i zapis plików
    • Optymalizacja Serializacji
    • Strumienie
  4. Swobodny dostęp i inne sztuczki
    • NIO
    • Kanały i bufory
    • Odwzorowywanie plików w pamięci
    • Przegląd NIO2
    • Słów kilka o API dla XML
  5. Wydajność a algorytmy
    • Złożoność obliczeniowa i jej pułapki
    • Jak dobierać rozwiązania
    • Kiedy rekurencja, a kiedy iteracja
    • Uwzględnianie kontekstu użycia
  6. Kolekcje i tablice
    • Jak dobrać, skonfigurować i wydajnie użyć
    • Zbiory
    • Listy
    • Kolejki
    • Mapy
    • Stare kontenery z nowym API
    • Widoki
    • Klasa Collections a wydajność
    • Przegląd kolekcji z java.util.concurrent
    • Tablice i klasa Arrays
    • Przegląd bibliotek kolekcji typów prostych
  7. JMH - microbenchmark Framework
    • Dlaczego JMH
    • Tworzenie, uruchamianie i analiza wyników
    • Konfiguracja benchmarków
    • Benchmarki wielowątkowe i parametryzowalne
    • Blackhole jako alternatywa akumulacji
    • Pułapki, profilery i inne tematy zaawansowane
  8. GC czyli zarządzanie pamięcią
    • Jak działa i co gwarantuje Garbage Collector
    • Od stworzenia do zniszczenia, czyli cykl życia obiektów
    • Referencje soft, weak, phantom a odśmiecanie
    • Wycieki pamięci - skąd i jak unikać
    • Złe praktyki i jak je ograniczyć
    • Słaba teoria generacji
    • Obszary pamięci: young, eden, survival spaces, old/tenured, metaspace
    • Rodzaje odśmiecania
    • Podgląd GC na różnym poziomie szczegółowości
    • Rodzaje GC: Epsilon, Serial, Parallel, Concurrent, G1, ZGC, Shenandoah
    • Działanie, wybór i tuning GC
    • Brak pauz w płatnym Zing
  9. JVM
    • Podstawowe tryby pracy - co dziś zostało
    • Podgląd, kontrola i strojenie JIT
    • Zmniejszanie wpływu wyjątków na wydajność
    • Tuningowanie JVM
    • Opcje podglądu parametrów Javy
    • Słów kilka o gotowych macrobenchmarkach
    • Usprawnienia między wersjami Java
  10. Problemy optymalizacji
    • Co przeszkadza mikrobenchmarkom
    • Wiele JVM na tej samej maszynie
    • Unikaj starych przyzwyczajeń
    • Tego nie rób, czyli optymalizacja za kompilator
    • Problemy przedwczesnej optymalizacji
    • Antywzorze dotyczące wydajności

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!

O szkoleniu w skrócie

Celem szkolenia jest diagnostyka, optymalizacja i wytwarzanie wydajnego oprogramowania w języku Java. Zakres dobrano tak, aby uczestnik mógł wykorzystać zdobyte doświadczenie niezależnie od bibliotek, kontenerów czy frameworków w projekcie. Poznajemy tajniki wydajności z użyciem narzędzi do monitoringu, benchmarkowania, profilowania. Uczymy się porównywania i doboru najlepszych rozwiązań, w tym wydajnego odczytu plików czy stosowania kolekcji odpowiednio do charakterystyki użycia. W świecie, gdzie wielu doświadczonych programistów nigdy nie próbowało lub źle "pomaga" Javie, obalamy mity dotyczące JVM, GC i odkrywamy tajniki ich tuningowania. Nauczysz się pisać wydajniejszy kod, diagnozować istniejące problemy, a nawet zwiększać wydajność bez dotykania kodu.

Dla kogo?

Dla programistów Java posiadających mocne podstawy tego języka.

Wymagania wstępne

Umiejętność programowania w języku Java



Prowadzący szkolenie: Michał Podbielski



Programista Java od 2004 roku, doświadczony w wielkich międzynarodowych projektach. Architekt oprogramowania i konsultant w zakresie architektury oprogramowania, UML i BPMN rozwiązujący problemy klientów w złożonych i zróżnicowanych projektach. Przeprowadził w sumie ponad 390 szkoleń ze świetnymi wynikami w ankietach. Prowadzi szkolenia z języka Java, architektury oprogramowania, UML i BPMN.


Terminy gwarantowane

Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.

Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje. Ewentualne ryzyko ponosimy my jako organizator.

Przejdź do terminów tego szkolenia

Szkolenia online Szkolenia online odbywają się na żywo z udziałem trenera. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia.
Inne szkolenia tej kategorii Sprawdź pozostałe    szkolenia Java!

Sprawdź, co mówią o nas ci, którzy nam zaufali

  • 5.0/5

    Spring Cloud

    11-10-2024 Ciekawy sposób tłumaczenia kolejnych, powiązanych ze sobą zagadnień przez wykładowcę, dzięki czemu jest łatwiej zrozumieć co z czego wynika. Prowadzący to osoba z praktycznym doświadczeniem, która przywiązuje dużą wagę do jak najlepszego przekazania swojej wiedzy. Paweł Dziedzic, SoftSystem Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    27-09-2024 Polecam! Mateusz Jusiak, Edubroker Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    27-09-2024 Polecam każdemu szkolenie :)!, Bardzo fajnie prowadzone zajęcia, łatwo wszystko przyswoić. Widać że prowadzący zna się na rzeczy i co chyba najważniejsze... potrafi wyjaśnić problem na konkretnych przykładach!. Pozdrawiam!. Zygmunt Postawa, PKP Intercity S.A.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    28-06-2024 Przystępnie podana porcja wiedzy, która z pewnością przyda się w codziennej praktyce deweloperskiej. Dużo trafnych przykładów, znalazło się też nieco czasu na indywidualne ćwiczenia praktyczne. Dodatkowym plusem było zaangażowanie prowadzącego i możliwość swobodnej dyskusji nad proponowanymi rozwiązaniami. Kamil Ćwintal, Ośrodek Przetwarzania Informacji – Państwowy Instytut Badawczy
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    20-06-2024 Dobrze przygotowany wykładowca, merytoryczne treści, serdecznie polecam :) Radosław Głowacki, Idemia Poland R&D
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Pan Marcin prowadzi szkolenie w zorganizowany sposób. Wiedza jest przekazywana w przystępny sposób, całe szkolenie jest w formie Live Coding - co mi się bardzo podobało. Polecam Karol Kistela, BPRobotics sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Bardzo polecam to szkolenie! Profesjonalne podejście prowadzącego oraz bogaty, praktyczny materiał sprawiły, że czas spędzony na kursie był niezwykle wartościowy. Wszystko było doskonale zorganizowane, a zdobyta wiedza z pewnością przyczyni się do mojego rozwoju zawodowego. Prowadzący był bardzo kompetentny i chętnie dzielił się swoją wiedzą, odpowiadając na wszystkie pytania. To była świetna inwestycja w moje umiejętności i zdecydowanie polecam ten kurs każdemu, kto chce podnieść swoje kwalifikacje! Piotr Rostek, PZU SA/PZU ŻYCIE SA
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Spring Boot i Docker + wprowadzenie do mikroserwisów - świetne szkolenie, duża dawka wiedzy przekazana przez Marcina pozwoliła mi zrobić spory krok do przodu w rozumieniu wszystkich procesów oraz efektywniejszego programowania. Świetne wytłumaczenie od A do Z - od momentu tworzenia samego projektu, po jego zakończenie. Sebastian Stawiarski, ORNSSON SOLUTIONS Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Bardzo dobre wejście w świat reaktywnej javy, asynchroniczności i wielowątkowości Jakub Musialik, Ornsson Solutions Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Marcin świetnie prowadzi zajęcia, chętnie udziela odpowiedzi na nurtujące nas pytania. Przemysław Czerw, Ornsson Solutions Sp. z o.o.
  • 4.9/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 jestem zadowolony Mateusz Bernaczyk, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 JSystems świetna robota. Merytoryczni prowadzący co ważne z żyłką pedagogiczną :) Tak trzymać. Emil Dmowski, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 Tak powinny być prowadzone wszystkie szkolenia Marek Kuźniar, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 4.81/5

    Spring Boot - budowanie aplikacji REST

    15-03-2024 Gorąco polecam szkolenie - jeżeli zaczynasz kurs z minimalną widzą o Spring i REST to po zakończeniu szkolenia nie będziesz jeszcze mistrzem ale... dostaniesz solidny zastrzyk wiedzy i praktyki który pomoże zbudować Ci fundamenty Spring / REST. Aleksander Smyk, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 4.81/5

    Spring Boot - budowanie aplikacji REST

    15-03-2024 Dobre szkolenie. Grzegorz Babicki, UNIQA Towarzystwo Ubezpieczeń SA
  • 5.0/5

    Tworzenie aplikacji w Javie z użyciem Spring Framework

    22-12-2023 Po raz kolejny odbyłem szkolenie prowadzone przez Marcina. Serdecznie chciałbym podziękować za rozszerzenie/uzupełnienie wiedzy na temat Springa :) Grzegorz Ciosek, Asseco Poland S.A.
  • 4.81/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    15-12-2023 Fajnie i ciekawie Leila Miniailo, GP Strategies Poland Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Prowadzący szkolenie, Marcin Chrost, podczas szkolenia odpowiada również na dodatkowe pytania wykraczające poza zakres materiału szkoleniowego. Oczywiście pytania krótkie, a odpowiedzi zwięzłe i konkretne, żeby nie zakłócić głównego przebiegu szkolenia. Całość szkolenia zwięzła i konkretna, z duża ilością przykładów i dużą ilością przekazaniej wiedzy. Paweł Zamorski, SoftSystem Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Zdecydowanie polecam udzial w szkoleniu: "Clean Code i dobre praktyki programowania obiektowego w Javie". Rafał Kopiec, SoftSystem Sp. z o.o.
  • 4.9/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Szkolenie poprowadzone z werwą i ciekawie Zofia Kochańska, SoftSystem Sp. z o.o.
  • 5.0/5

    Zaawansowana Java

    24-11-2023 Wyśmienite szkolenie, ogromna wiedza prowadzącego oraz materiał przekazywany podczas szkoleniu. Szkolenie odbywało się na zasadach przykład z teorią, ćwiczenia, a następnie rozwiązywanie tych ćwiczeń wspólnie. Dzięki takiemu stylowi, podczas ćwiczeń można się dużo dowiedzieć :) Polecam prowadzącego oraz szkolenie. Konrad Aleksander Wesołowski, Axians IT Solutions Poland Sp. z o.o.
  • 4.83/5

    Programowanie w języku Java

    27-10-2023 Super szkolenie! Forma warsztatowa na plus - dzięki niej wyniosłam bardzo wiele praktycznej wiedzy. Super trener otwarty na pomoc i poszerzenie przykładowych zadań. :) Monika Kondracka, Redge Technologies Sp. z o.o.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam trenera. Stanisław Feder, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam to szkolenie - spora dawka wiedzy o Spring Boot, bardzo dobry Trener, świetnie przygotowane materiały oraz zaplecze techniczne. Jan Kowaczek, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Dziekuje bardzo! Beata Kaźmierczak, Centralny Ośrodek Informatyki
  • 5.0/5

    Spring Cloud

    07-07-2023 ok Kamil Słojkowski, Powszechna Kasa Oszczędności Bank Polski SA
  • 5.0/5

    Zaawansowana Java

    30-06-2023 Bardzo dobre szkolenie, spory zakres tematyczny i co mi się szczególnie podobało dużo kodu z przykładami i ćwiczeniami rozwiązywanymi w IDE na bieżąco w trakcie szkolenia. Mimo programowania na co dzień w Javie, sporo się dowiedziałem i uzupełniłem braki w mojej wiedzy. Po szkoleniu na pewno łatwiej i przyjemniej będzie się tworzyć kod w Javie. Polecam prowadzącego. Maciej Pachocki, Bank Gospodarstwa Krajowego
  • 5.0/5

    Zaawansowana Java

    30-06-2023 Polecam - konkretny, profesjonalny. Zbigniew Szajna, Aplikacje Krytyczne Sp. z o.o.
  • 5.0/5

    Zaawansowana Java

    23-06-2023 Polecam trenera, ma bardzo dużą wiedzę na temat javy, dlatego wykraczającą poza standardowe "klepanie crudów" Sebastian Augustyniak, Edubroker Sp. z o.o.
  • 4.72/5

    Zaawansowana Java

    23-06-2023 Merytoryczne i praktyczne szkolenie pozwalające zrozumieć działanie wybranych mechanizmów Javy "od środka". Polecam. Krzysztof Krawczyk, Edubroker Sp. z o.o.

Trenerzy kategorii Java

Marcin Dzierżak
Dariusz Mydlarz
Łukasz Tomczyk
Michał Gellert
Maciej Górnicki
Marcin Chrost
Michał Podbielski
Zapisz się

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Telefon 22 299 53 69
Napisz do nas

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.