Project Panama: Interconnecting the Java Virtual Machine and Native Code

preview_player
Показать описание
Project Panama improves and enriches the connections between the Java Virtual Machine (JVM) and non-Java APIs, including many interfaces commonly used by C programmers. This session will offer an overview and demo of features from Project Panama, including JDK Enhancement Proposal (JEP) 434 from Java 20.

An Oracle DevLive Level Up - Java Developer Day session.
Presented by Paul Sandoz - Software Architect

Tags: #Java #OpenJDK #JDK
Рекомендации по теме
Комментарии
Автор

I am starting to have faith in java again.

lufenmartofilia
Автор

Coincidentally I just discovered JNI working on a personal project this past weekend - had no idea about all the work in this area! Very cool stuff and great presentation

CharlesS-ysyw
Автор

This is really amazing. Panama looks to mirror python ctypes module features.

akashr
Автор

A great presentation! machine learning in c++ is where the world is going to, with quantized gguf models. if we could catch up to c++ it will definately make java give a serious competition to python in that area.

benaya
Автор

JNI version of qsort upcall does not use cached jmethodID. Can this be a reason for bad performance? Was presented code actually used in benchmark?

mikolajpodbielski
Автор

I have used this and it’s great, but what’s urgently needed is C++ support, otherwise a C interface to all functionality has to be written and maintained for each platform. Also, I have recent migrated all my work to Aarch64, which is not yet supported by jextract, which is a nuisance (it would be more of a nuisance if I didn’t have to write a C layer to C++). Also, using clang? Surely there should be a pure Java solution - no need no install extra C/C++ tools.

C++ support is the thing I need most, and I’m sure I’m not alone.

sjzara
Автор

Thanks for the presentation. Looks very promising. I just wish that the "Arena" class was named differently. The current name is very abstract and makes me think of gladiators instead of memory segments. According to the java doc this class manages the lifecycle of memory segments, but this cannot be inferred from its name. So, at the very least it should be named "MemorySegmentArena" (still not great) or something different like or "MemorySegementContainer".

felixroth