Тёмный

Project Panama: Interconnecting the Java Virtual Machine and Native Code 

Java
Подписаться 179 тыс.
Просмотров 8 тыс.
50% 1

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
More info ➱ inside.java/tag/panama
More Level Up videos ➱ • Oracle DevLive Level U...
Tags: #Java #OpenJDK #JDK

Наука

Опубликовано:

 

27 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 9   
@CharlesS-ys8yw
@CharlesS-ys8yw Год назад
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
@lufenmartofilia5804
@lufenmartofilia5804 7 месяцев назад
I am starting to have faith in java again.
@akashr4940
@akashr4940 Год назад
This is really amazing. Panama looks to mirror python ctypes module features.
@benaya6
@benaya6 6 месяцев назад
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.
@mikolajpodbielski
@mikolajpodbielski Год назад
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?
@sjzara
@sjzara Год назад
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.
@bentels5340
@bentels5340 Год назад
Yeah, that's going to require some work on the C++ side. The main difference between the two is that C has a standardized ABI, which is why it is used to build system libraries and why many other language can generate shared object libraries that conform to the ABI. But C++ doesn't have that; so it's compile to C ABI or bust. Guess there's a reason it's called C++ ("C++ is more that C, but just use C").... That said, the choice in Panama to connect at ABI level already makes so many obstacles go away. I experimented a bit with the preview in Java 19 and talked to code written in Rust. Have fun doing that through JNI.
@sjzara
@sjzara Год назад
@@bentels5340 I’ve connected to Delphi using JNI. It’s got some problems. I know C++ makes things tricky, but I would imagine it’s a substantial target for JNI use. I find that once you have set things up so I can develop a C layer to interface to C++ and other languages, JNI doesn’t add that much more complexity. After all, there is work getting data between C and C++. JNI isn’t that bad for this kind of thing if you are already having to manage C interfaces to libraries on each platform. So, until C++ support arrives, it’s JNI for me.
@felixroth4399
@felixroth4399 Год назад
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 "MemorySegmentLifecycleController" or "MemorySegementContainer".
Далее
GraalVM Native Image - Faster, Smarter, Leaner
46:12
Просмотров 13 тыс.
Старый Дим Димыч вернулся😱
00:16
Java and AI? - Inside Java Newscast #72
9:53
Просмотров 17 тыс.
How different are C and C++? Can I still say C/C++?
10:25
Continuous Monitoring with JDK Flight Recorder
45:56
Просмотров 12 тыс.
Battery  low 🔋 🪫
0:10
Просмотров 13 млн
10 МИНУСОВ IPHONE 15
18:03
Просмотров 37 тыс.