filmov
tv
Bare Metal Java - Jarek Pałka | #72 Talk4Devs
Показать описание
--
🎤 Prelekcja
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 wie, 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.
Jest o API, które 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.
Zaczynamy 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, przekłamanych micro benchmarków i OpenJDK skompilowanego na pięć minut przed prezentacją.
--
🗣️ Prelegent
--
👨💻 Talk4Devs
Talk4Devs to wydarzenie, które corocznie elektryzuje i aktywizuje branżę IT. Dla jednych jest to festiwal inspirującej wiedzy, dla innych znakomita możliwość networkingu, dla wszystkich obowiązkowy przystanek na szkoleniowej mapie.
--
💻 j-labs software specialists
Jesteśmy firmą stworzoną przez inżynierów dla inżynierów!
Specjalizujemy się w outsourcingu zespołów i specjalistów IT. Nasi j-People wyróżniają się ponad 9-letnim stażem pracy w swoich specjalizacjach. Tworzymy firmę, w której doświadczeni inżynierowie realizują projekty, które świadomie wybrali.
Robimy dobre IT, albo wcale!
Śledź nas na:
--
🎬 Rozdziały
00:00 Wstęp
05:00 Agenda
06:53 The rise and fall on managed runtime
10:12 Managed runtime
18:20 Welcome, bare metal Java
19:47 DirectByteBuffer
21:40 JNI
21:54 JEP
22:30 Goals
24:27 Concepts
25:03 MemorySegment
31:42 Memory Layout
34:18 C struct
37:38 Hello c
Комментарии