Kod: JVA-028
Czas trwania: 16 godzin
Czas trwania: 16 godzin
Opis szkolenia
Wszystkie aplikacje Java powinny być efektywne ze względu na zajmowaną pamięć i prędkość przetwarzania. Jednak alokacja znacznej ilości pamięci albo zmiana procesora na mocniejszy nie zawsze jest dobrym podejściem.Nasze szkolenie, poświęcone tematom wydajności Java i tuningu to intensywny trening wycelowany do doświadczonych i zaawansowanych programistów dążących do rozszerzenia swojej wiedzy z zakresu dostrajania aplikacji Java za pomocą odpowiedniego sposobu alokacji pamięci, najlepszego algorytmu Garbage Collector, albo najbardziej stosownego sposobu wykorzystania interfejsu programistycznego JDK.
Każdy programista powinien rozumieć jak stworzyć efektywny program z punktu widzenia alokacji pamięci oraz prędkości przetwarzania. Trzeba także rozumieć, co dzieje się wewnątrz JVM (wirtualnej maszyny Java). Dzięki tej wiedzy problemy z alokacją pamięci i długi czas przetwarzania łatwo się poddają diagnozie, naprawie czy zapobieganiu.
Kurs obejmuje takie tematy jak architektura JVM, silnik wykonawczy, model pamięci, garbage collectors, dostosowanie JVM, profilowanie JVM, analiza realistycznych case studies z punktu widzenia wydajności oraz prezentacja najlepszych praktyk pisania wydajnego kodu (rady i triki) .
Za tym kursem stoi idea, że dobry programista pisze nie tylko dobry kod, ale też jest w stanie zajrzeć pod maskę i zastanowić się nad tym w jaki sposób ten kod może działać lepiej i pozytywnie wpływać na wskaźniki wydajności.
Plan szkolenia
Silnik wykonawczy- Bytecode Interpreter
- Just In Time Compiler
- Stack
- Heap
- PermGen
- Metaspace
- Code Cache
- Serial Collector
- Parallel Collector
- Parallel Compacting Collector
- Concurrent Mark-Sweep Collector
- Garbage First Collector
JVM Tuning
JVM Profiling
- Narzędzia wbudowane w system operacyjny
- Narzędzia JDK
Cele
Kurs ma na celu umożliwienie uczestnikom lepszego zrozumienia tego, co oznacza JVM pod względem:- Silnika wykonawczego;
- Modelu pamięci;
- Garbage Collector'ów;
- Wydajności interfejsów programistycznych aplikacji JDK;
- Taktyki wydajnościowej;
- Narzędzi do profilowania.
Kurs zwiększa znajomość narzędzi do profilowania (wbudowanych w system operacyjny albo dostępnych w JDK) .
Istnieje mocne powiązanie między wydajnością JVM i kilkoma taktykami oraz interfejsami programistycznymi JDK, które każdy programista powinien zrozumieć. Prezentujemy właściwe wybory interfejsów w JDK i taktyki aby pomóc uczestnikom osiągnąć najlepszą wydajność.
Grupa docelowa
Zaawansowani albo doświadczeni programiści Java, którzy chcą dowiedzieć się jak można osiągnąć i powiększyc wydajność, rozumiejąc wnętrze JVM, jak dokonać tuninga i profilowania JVM i jak napisać efektywny kodWymagania
Dobra znajomość kluczowych zasad Java- Wielowątkowość
- Kolekcje
- Cykl życiowy tworzenia obiektu
- Zasady Garbage Collector