Talk to me gently and how Java native interface will change in not so distant future

- CEST
Joy

Jaroslaw Palka
Neo4j, Performance Engineer, Team lead

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 architecture at conferences in Poland.

I am also the author of a blog on http://geekyprimitives.com/, one of the founders of SegFault conferences brand and a full-time benchmarking infrastructure engineer at Neo4j.


Java, or JVM, has well-deserved fame as a hardware-unfriendly platform, and thus nobody sane will build database system or solutions where "mechanical sympathy" is crucial. using Java, except Apache Kafka, Elastic, Cassandra and Neo4j ;) ).

Garbage collector, speculating JIT, lack of control over "object layout", terrible support (mainly due to lack of abstraction) for functions of modern processors and operating systems.

And also JNI (who was there, I know what I'm talking about). Complex, slow, no major update since the day of release. Project Panama promises to change it. Simple, fast, safe. This talk will take a look at the state of Project Panama, focusing mainly on the foreign linker, our new interface to C world. Of course, you can expect running examples, core dumps, segfaults and other fancy things.

I will focus on two examples calling C code (from POSIX spec) from Java, and calling Java code from C. We will also touch on the topic of foreign memory as these to specs are tightly coupled together.