Krakow, Poland, 22 - 24 June 2022
For more than 20 years in the IT industry, as a database administrator, programmer, architect, manager and "onsite disaster engineer".
I took part in small,medium and nonsensically large projects carried out according to the rules "Waterfall", Agile and in the absence of any methodologies,
with the same always effect. Which led me to the conclusion that it doesn't matter what you do as long as you do it in the simplest possible way and use
the right tools to do the work for you.
Recently I spend too much time exploring JVM's best kept secrets, reading about managed runtimes, parsers and interpreters.
From time to time you can hear my low-quality jokes about software architecture at conferences in Poland.
I am also author of a blog on http://geekyprimitives.com/, one of the founders of SegFault conferences brand and full time benchmarking infrastructure engineer at Neo4j.
Bare metal JavaDeep Dive
Java, in fact JVM, has a well-deserved fame as a hardware-unfriendly platform, and therefore nobody (except Apache Kafka, Elastic, Cassandra and Neo4j) will build databases, queues and other solutions where "mechanical sympathy" is crucial , in Java.
Garbage collector, speculating JIT, lack of control over "object layout", terrible support (mostly due to lack of abstraction) for modern processors and operating systems.
And there is also JNI (who was there, I know what I'm talking about). (I do not mention the implementation of IO)
The purpose of this presentation is to disenchant these myths and to show how much effort has recently been going into making JVM more hardware friendly.
It will be about APIs which are still in the incubation phase. You may never see these APIs in your life, but they will be a foundation of databases, queue brokers and game engines (I am not joking) in the future.
I will focus on two JEPs, foreign functions & memory and vector API.
We will learn how to work with native memory (with seatbelts fastened), downcall and upcall C functions from Java (with ease) and squeeze every second from SIMD instructions on your CPU (so yours CPU silicon will melt).
Everything will be dipped in a sauce of broken examples and distorted micro benchmarks and OpenJDK compiled five minutes before the presentation.