Magdalena Patejko

Magdalena Patejko Z wykształcenia
psycholog
organizacji. Z
zamiłowania akty...

Temat: Java Runs Really Fast! Introduction to Java Performance...

W imieniu firmy EPAM Systems zapraszam na cykl darmowych wykładów:

EPAM i AGH omówią typowe problemy wydajnościowe w Javie

EPAM Systems we współpracy z Katedrą Informatyki Akademii Górniczo - Hutniczej w Krakowie organizują cykl otwartych wykładów o Javie zatytułowanych Java Runs Really Fast! Cykl zakończy się konkursem programowania w parach, którego zwycięzcy pojadą na praktykę do Budapesztu. Pierwszy wykład odbędzie się już 6 listopada.


Java Runs Really Fast! Introduction to Java Performance Tuning, to nazwa cyklu wykładów w Centrum Informatyki AGH, których uczestnicy zapoznają się z typowymi problemami wydajnościowymi Javy oraz najpopularniejszymi metodami ich rozwiązywania. Swoją wiedzą ze studentami i programistami będą się dzielić specjaliści z firmy EPAM: Krzysztof Rajda i Adam Dec. W trakcie spotkań, prowadzonych w języku polskim, poruszone zostaną m.in. następujące zagadnienia:
- systemy wysokiej wydajności na przykładzie HIGH Performance Trading;
- wypływ architektury procesora na wydajność, skalowalność systemu;
- sposoby rozwiązywania problemów związanych z wydajnością GarbageCollector;
- wprowadzenie do NOSQL, Disruptor Pattern, Java Memory Model, Fork/Join.

Zwieńczeniem cyklu wykładów będzie konkurs programowania w parach, który odbędzie się 26 listopada. Dla zwycięskiej pary firma EPAM Systems funduje miesięczną, bezpłatną praktykę w oddziale firmy w Budapeszcie. Koszty zakwaterowania i przejazdu w pełni pokrywa organizator. Jedyne wymogi, jakie muszą spełniać osoby wyjeżdżające na praktykę, to znajomość języka angielskiego i motywacja do pracy w okresie wakacyjnym. Wyjazd może być zaliczony w ramach obowiązkowej praktyki*, którą każdy student musi zrealizować w toku studiów. Udział w ostatnim, „konkursowym” spotkaniu nie jest obowiązkowy. Można uczestniczyć tylko w wykładach, bez przystępowania do udziału w konkursie.

Organizator cyklu – EPAM Systems – to lider usług outsourcingowych w dziedzinie inżynierii oprogramowania w Europie Środkowo-Wschodniej. Firma powstała w 1993 roku w USA, obecnie ma 34 filie w 12 krajach świata i około 10000 pracowników. Polskie oddziały powstały na początku 2011 roku w Krakowie i we Wrocławiu. Wspierają one największych graczy z branży finansowej, realizując dla nich zaawansowane projekty IT.

Patronem cyklu wykładów została Katedra Informatyki na Wydziale Informatyki, Elektroniki i Telekomunikacji, która kształci studentów na kierunku Informatyka oraz prowadzi badania w zakresie nowoczesnych technologii informatycznych od 1980 roku. Dzięki doświadczeniu, wyspecjalizowanemu personelowi oraz stałemu rozwojowi, Kierunek Informatyka należy do najbardziej renomowanych kierunków kształcenia. Katedra zatrudnia obecnie ponad 90 pracowników, a dyplomowała ponad 2500 magistrów inżynierów informatyki, stając się główną jednostką dostarczającą wysoko kwalifikowane kadry informatyczne w rejonie Małopolski. Decyzją Urzędu Marszałkowskiego Województwa Małopolskiego powstało „Centrum Informatyki AGH - budynku dydaktycznego Katedry Informatyki AGH" i w lutym 2012 roku realizacja procesu dydaktycznego została przeniesiona do nowego budynku D17 przy ul. Kawiory 21.
Katedra Informatyki AGH osiąga doskonałe wyniki w badaniu losów zawodowych absolwentów AGH, świadczące o bardzo dobrym dostosowaniu programu kształcenia do potrzeb rynku pracy. Współpraca z czołowymi instytucjami z branży IT, takimi jak EPAM Systems, stanowi efektywne wsparcie procesu kształcenie ukierunkowane na potrzeby nowoczesnego przemysłu IT.
Patronat medialny nad inicjatywą objęła Radiofonia.

*Zgodę na zaliczenie wyjazdu jako obowiązkowych praktyk realizowanych w toku studiów wyraziła Akademia Górniczo Hutnicza. Rozmowy na innych uczelniach studenci podejmują indywidualnie.

Agenda wykładów Java Runs Really Fast!

Celem wykładów jest omówienie typowych problemów wydajnościowych wraz z najpopularniejszymi ich rozwiązaniami.

I. Wykład 1
1. Wprowadzenie do zagadnień wydajnościowych na przykładzie różnych problemów biznesowych
a. Omówienie systemów wysokiej wydajności na przykładzie High Performance Trading
b. Omówienie systemów przetwarzających dużą ilość danych
2. Wpływ architektury na wydajność i skalowalność systemu
a. Wprowadzenie do systemów NOSQL
b. Wprowadzenie do „DisruptorPattern”
c. Wprowadzenie do „EventSourcing”
d. Wprowadzenie do cachingu

II. Wykład 2
1. Programowanie wielowątkowe
a. Omówienie typowych problemów w aplikacjach wielowątkowych np. „race condition”
b. Wprowadzenie do Java Memory Model
c. Omówienie najważniejszych klas z pakietu java.util.concurrent
d. Wprowadzenie do Fork/Join
e. Omówienie kilku różnych podejść do programowania wielowątkowego np. „messagepassing”
2. Wpływ architektury procesora na wydajność
a. Wpływ cachu procesora na wydajność
b. Wpływ optymalizacji procesora na wydajność

III. Wykład 3
1. Rozwiązywanie typowych problemów z wydajnością GarbageCollector
a. Wprowadzenie do zagadnień związanych z GarbageCollector
b. Podstawowe metody optymalizacji GarbageCollector
2. Typowe źródła „memoryleaks” w Javie
3. Narzędzia pomocne przy wyszukiwaniu i rozwiązywaniu problemów wydajnościowych
4. Jak pisać testy wydajnościowe
a. Omówienie rodzajów testów wydajnościowych
b. Przedstawienie kilku przykładowych narzędzi

IV. Konkurs programowania w parach – możliwość wygrania miesięcznego stażu w oddziale firmy w Budapeszcie.