WrocławJUG wraz z firmą Sii oraz Symentis zapraszają na warsztaty z Jarkiem Pałką, pt.: "JVM: przez dziurkę od klucza".
Ilość miejsc jest mocno ograniczona, dlatego prosimy o roztropne zapisywanie się na te warsztaty. Dla nieusprawiedliwionych nieobecności będą wyciągane konsekwencje!
Warsztaty zaczynamy o 9:00, ale biuro będzie otwarte już od 8:30. Przynieście ze sobą swoje laptopy!
JVM to złożona maszyna, która napędza nasze systemy. Codziennie w pocie czoła przerzuca terabajty obiektów pomiędzy kolejnymi generacjami w GC, generuje strumienie optymalnego kodu skompilowanego przez jeden z kompilatorów JIT, w międzyczasie próbując dogadać się z systemem operacyjnym. Jednak nie zawsze w naszej maszynowni wszystko przebiega zgodnie z planem. Gdzie szukać informacji? Jak odczytywać i interpretować wartości metryk? Kiedy winny jest JVM, nasza aplikacja, a w jakim przypadku system operacyjny?
Podczas tej sesji postaram się pokazać dostępne narzędzia, magiczne przełączniki i dostępne rozwiązania potrzebne w pracy każdego "kryminologa" JVM. Sesja będzie przeznaczona dla osób, które zaczynają przygodę z optymalizacją JVM. Porozmawiamy o zapisywaniu zdarzeń z JVM, narzędziach ukrytych w JDK, w tym także Java Mission Control i Flight Recorder i zobaczymy jak Java płonie :). Nie zapomnimy też o narzędziach dostępnych w systemie operacyjnym Linux.
Uzbrojeni w narzędzia i wiedzę, podczas tej sesji spróbujemy przekuć teorię w praktykę. Na naszej drodze staną zasobożerne procesy, wściekle pożerające CPU, RAM i IOOPS naszego systemu. Spróbujemy je odnaleźć i korzystając z narzędzi, zidentyfikować źródło problemu. Na dostarczonych serwerach uruchomione będą procesy JVM, a my bez dostępu do kodu źródłowego oddamy się zawiłościom inwestygacji i wkroczymy w świat kryminalistyki JVM.
Ten rozdział poświęcimy JMH (Java Microbenchmark Harness), narzędziu które pozwoli nam pisać testy wydajnościowe naszego kodu. Poznamy API JMH, bogaty zestaw opcji oraz jak konstruować testy wydajnościowe by nie ulec iluzji, iż wszystko działa poprawnie. To wszystko na kilku przykładach, które między innymi porównają wydajność struktur danych dostępnych w Java SDK.
Zapraszam Was na podróż w głąb maszyny. Zabierzcie ze sobą terminal, Java 8, ulubione IDE i dziecięcą ciekawość. Warsztaty zakładają, że programujecie w Java na przyzwoitym poziomie, a JVM jest Wam obcy, jednak macie w sobie głód zrozumienia, jak to wszystko działa.
Poziom trudności: HARD
Język warsztatów: Polski
Prelegent: Jarosław Pałka
Jarek Pałka - od ponad 10 lat w branży IT, jako administrator baz danych, programista, architekt, manager i „inżynier od spraw katastrof”. Brałem udział w małych, średnich i nonsensownie dużych projektach, prowadzonych zgodnie z zasadami „waterfall”, Agile oraz przy braku jakichkolwiek metodyk, z tym samym zawsze skutkiem. Co doprowadziło mnie do wniosku, że nieważne co robisz tak długo, jak robisz to dobrze, w najprostszy z możliwych sposobów i używasz właściwych narzędzi które wykonają pracę za Ciebie. W międzyczasie dałem się porwać ideą TDD oraz Software Craftmanship, do granic możliwości wyeksploatować tak piękne w swej prostocie pomysły jak REST, JavaScript i NOSQL, by potem porzucić je by zgłębić tajniki "system thinking" i zachwycić się siłą jaką niesie z sobą "metafora" i odkryć, że rządzą nami te same prawa "natury". Od czasu do czasu można usłyszeć moje niskiej jakości żarty na temat architektury na konferencjach w Polsce. W chwilach wolnych członek SSEEP i autor bloga na geekyprimitives.wordpress.com.
Sii Polska jest ekspertem technologicznym, który zatrudnia ponad 3300 specjalistów w całej Polsce. Jesteśmy najszybciej rozwijającą się firmą IT i inżynierii przemysłowej w Polsce. Realizujemy projekty dla ponad 200 klientów z całego świata, którzy działają m.in. w takich branżach jak: bankowość, hi-tech i elektronika, motoryzacja czy telekomunikacja.
Co jeszcze warto wiedzieć?
Dowiedz się więcej o firmie: www.sii.pl
Symentis to nie tylko firma dostarczająca szkoleń i usług konsultacyjnych w obszarze rozwoju oprogramowania, architektury systemów IT i rozwoju organizacji (w szczególności działów R&D).
Symentis to przede wszystkim grupa profesjonalistów, z wieloletnim doświadczeniem w branży rozwoju oprogramowania, którzy swoje doświadczenie mogą potwierdzić nie tylko poprzez udział w międzynarodowych projektach, ale także poprzez udział w projektach „open source”, a także jako aktywni członkowie lokalnych społeczności programistów, organizujących i biorących udział w konferencjach, członkowie rad programowych i prezenterzy.
Swoją pasję tworzenia rozwiązań i rozwoju organizacji, łączymy z pasją nieustannego poszerzania swoich umiejętności, dzielenia się wiedzą z innymi i ciągłego zdobywania doświadczenia.
Nasze szkolenia i usługi budujemy wokół realnych potrzeb organizacji, dla której pracujemy – wyzwań przed którymi stoi, nowych obszarów, które chce odkryć i zdobyć.
Dowiedz się więcej o firmie: symentis.pl