Logo Crossweb
To wydarzenie już się odbyło. Sprawdź nadchodzące wydarzenia

KJUG #42 "Bare metal java, czyli 3 niskopoziomowe JEPy, foreignmemory, (...)"

Wydarzenie:
KJUG #42 - Bare metal java
Typ wydarzenia:
Spotkanie
Kategoria:
IT
Tematyka:
Data:
27.05.2021 (czwartek)
Godzina:
18:00
Język:
polski
Wstęp:
Bezpłatne
Miasto:
Strona www:
Prelegenci:
Opis:

Cześć JUGowicze, powracamy do was ze spotkaniami na żywo! Widzimy się tradycyjnie w czwartek, tym razem na świeżym powietrzu w ogrodzie Restauracji Pałacyk Zielińskiego, żeby spotkać się z Jarkiem Pałką!


KJUG #42 "Bare metal java, czyli 3 niskopoziomowe JEPy, foreign memory, foregin linker i vectoryzacje" by Jarek Pałka


Abstrakt:

Java, a tak naprawdę JVM, cieszy się zasłużoną sławą platformy nieprzyjaznej dla sprzętu, a co za tym idzie, nikt poważny (oprócz Apache Kafka, Elastic, Cassandra i Neo4j) nie będzie budował baz danych, kolejek i innych rozwiązań gdzie "mechanical sympathy" jest kluczowe. Garbage collector, spekulujący JIT, brak kontroli nad "object layout", fatalne wsparcie (głównie przez brak abstrakcji) dla funkcji nowoczesnych procesorów i systemów operacyjnych. I do tego jeszcze JNI (kto tam był to wiem o czym mówię). (O implementacji IO nawet przez szacunek do samych siebie, nie wspominam).

Celem tej prezentacji jest odczarowanie tych mitów i pokazanie jak wiele wysiłku ostatnio idzie ostatnio w uczynienie JVM bardziej przyjaznego dla sprzętu. Będzie o API których są jeszcze w fazie inkubacji (choć niektóre jeszcze nie dojrzały do tego, a niektóre są już stabilne). API których, być może nigdy w życiu nie zobaczycie, a które będą w przyszłości stanowić fundament baz danych, czy kolejek.


Zaczniemy od Unsafe, by nadać rys historyczny. By potem pokazać, jak kolejne API zastępują kolejne metody w Unsafe:

* foreign memory access, czyli jak bezpiecznie pracować z pamięcią poza stertą,

* projekt Panama i nowe foreign functions interface (czyli foreign linker), czyli jak wywołać C z Java ( i w drugą stronę )

* vector api, by wycisnąć siódme poty z instrukcji SIMD,* frozen arrays, i całą seria optymalizacji, która za tym idzie

Wszystko polane sosem niedziałających przykładów i przekłamanych micro benchmarków i OpenJDK kompilowanego na pięć minut przed prezentacją.


Bio:

Od ponad 20 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 zasadami „waterfall", Agile oraz przy braku jakichkolwiek metodyk - z tym samym zawsze skutkiem. Wszystko to doprowadziło mnie do wniosku, że nieważne co robisz, ważne byś robił to dobrze, w najprostszy z możliwych sposobów i przy użyciu właściwych narzędzi, które wykonają pracę za Ciebie. W międzyczasie dałem się porwać ideom TDD oraz Software Craftmanship, do granic możliwości wyeksploatować tak piękne w swej prostocie pomysły jak REST i NoSQL. Porzuciłem je, by zgłębić tajniki „system thinking" i zachwycić się siłą, jaką niesie ze sobą „metafora" oraz by odkryć, że rządzą nami te same

prawa „natury". Niepokorny wyznawca kościoła JVM, badacz bytecode'u i JIT oraz wszelkiej maści parserów, interpreterów i kompilatorów. Na co dzień walczący o lepszą wydajność w Neo4j.

Od czasu do czasu można usłyszeć moje niskiej jakości żarty na temat architektury na konferencjach w Polsce. W wolnych chwilach trener w Symentis, autor bloga na http://geekyprimitives.wordpress.com/ oraz samozwańczy dyktator w Radzie Programowej konferencji SegFault.


Sponsorem założycielskim JUGa jest VirtusLab --> https://virtuslab.com


Licencje na IDE sponsoruje JetBrains: twórca najlepszego IDE do Javy na świecie :)


Książki z katalogu Manning dla uczestników Meetupu.


Do zobaczenia!

Widzisz błąd w wydarzeniu? Wydarzenie jest nieaktualne? Poinformuj nas o tym!

Profile pracodawców

Podobne wydarzenia