293. WJUG - trzech jeźdzców niskopoziomowej Javy
WJUG wraca po wakacjach i to z przytupem!
Mamy 4 niesamowite wiadomości dla Was:
- 1 nowa miejscówka dzięki uprzejmości firmy Paramount - Mokotowska 19
- 3 wspaniałych prelegentów zjednoczonych w szerzeniu wiedzy o Javie na jej najniższych poziomach; trzech jeźdźców niskopoziomowych tematów, których nieznajomość może doprowadzić do apokalipsy (raczej nie, ale czy warto ryzykować?)
Agenda:
szczegóły dotyczące kolejności wystąpień zostanie opublikowany w najbliższym czasie
Jarek Pałka: Bare Metal Java
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ędziebudował 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ć, foreign memory access, czyli jak bezpiecznie pracować z pamięcią poza stertą oraz
foreign functions interface, czyli jak wywołać C z Java ( i w drugą stronę ).
Wszystko polane sosem niedziałających przykładów i przekłamanych micro benchmarków i OpenJDK skompilowanego na pięć minut przed prezentacją.
Krystian Zybała
Oto nadchodzi Loom, współbieżność już nigdy nie będzie taka sama
Abstrakt:
There are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton
Prawda jest inna, jest tylko jedna rzecz trudna w naszej pracy, współbieżność.
W czasach gdy Herbt Sutter wszem i wobec ogłosił, że skończył się darmowy lunch (The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software), współbieżność stała się naszą codziennością.W Javie nadchodzi wielka zmiana, projekt Loom a z nim takie nowe terminy jak "virtual thread", "continuations" i "structured concurrency". Jeśli zastanawiałeś się co zmienią w naszej codziennej pracy albo
czy warto przepisać swoją aplikacje z Tomcatem na super wydajne reaktywne Netty,czy może poczekać na projekt Loom? Ta prezentacja jest dla Ciebie.
Opowiem o projekcie Loom i o nowych możliwościach związanych z wirtualnymi watkami i "structured concurrency". Opowiem Ci jak to działa i co można osiągnąć i jaki ma to wpływ na wydajność.
Arek Sokołowski
Abstract
Java jest z nami już od ponad 25 lat. Niektórzy twierdzą, że jest już nieco przestarzała. Tymczasem Java znacząco zmieniła się przez te lata, a w niedalekiej przyszłości pojawi się jeszcze więcej modyfikacji i unowocześnień! W trakcie prezentacji porozmawiamy o jednej z największych i najważniejszych nadchodzących funkcjonalności.
Jednym z najbardziej istotnych problemów Javy jest zarządzanie pamięcią. Mamy “lekkie” typy proste, oraz “ciężkie” klasy i obiekty. Programiści mogą używać typów prostych, ale nie mogą tworzyć swoich. Z drugiej strony, programowanie generyczne jest możliwe w świecie klas, ale już nie typów prostych. Projekt Valhalla próbuje rozwiązać ten problem.
W jaki sposób? Co to właściwie znaczy dla programistów? Co to może znaczyć dla frameworków, takich jak Spring czy Junit? Co się zmieni “pod maską”? W trakcie prezentacji poruszymy wszystkie te zagadnienia!
Więcej informacji: https://www.meetup.com/warszawa-jug/events/287902278/