Jarek Pałka - Bare Metal Java

Поділитися
Вставка
  • Опубліковано 21 сер 2024
  • 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ą.
    O prelegencie:
    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
    geekyprimitives... oraz samozwańczy dyktator w Radzie Programowej
    konferencji SegFault.
    www.meetup.com...

КОМЕНТАРІ •