Logo Crossweb

Log in

close
Sign up Forgot password

Password recovery

close Enter the email address you used to register your Crossweb account.
Send
This event has already taken place. Check upcoming events

287. WJUG - "Bare Metal Java"

Event:
287. WJUG - "Bare Metal Java"
Event type:
Meetup
Category:
IT
Topic:
Date:
11.05.2021 (tuesday)
Time:
19:00
Language:
Polish
Price:
Free
City:
Description:

[Presentation in Polish / Prezentacja po polsku]

"Bare Metal Java"


Jarosław Pałka

Bare

Metal

Java

te 5 słów mówi wszystko.


Będzie na surowo i będzie ogień.

Zobaczcie sami, jak Jarek wrzuca JVM-a na ruszt.


Grill otwarty. Zapraszamy wszystkich.


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ą,

* var handles, czyli jak okiełznać memory consistency i cache coherence,

* vector api, by wycisnąć siódme poty z instrukcji SIMD,

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

* frozen arrays, i całą seria optymalizacji, która za tym idzie

* primitive objects (i projekt Valhalla)


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


START 19:00 na YouTube:

https://www.youtube.com/watch?v=FaxTTbsgb34


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.

See an error in the description or event details?

Similar events

There are no upcoming events for these parameters in the Crossweb database.
Do you know about an event? Please add it.