// Modernes Java (21/25 LTS)

Foreign Function & Memory API: native Bibliotheken ohne JNI

C-Bibliotheken sicher und schnell aus Java aufrufen, Speicher außerhalb des Heaps verwalten.

  • Inhouse-Schulung
  • 2 Tage
  • Experten & Architektur
  • Remote oder vor Ort
Altes, abgegriffenes Buch, darauf ein neues aufgeschlagenes Notizbuch mit Füllfederhalter
Symbolbild · KI-generiert

Was Sie mitnehmen

  • Sie rufen C-Funktionen mit Linker, SymbolLookup und MethodHandles ohne JNI auf.
  • Sie verwalten Speicher außerhalb des Heaps sicher mit Arena und MemorySegment.
  • Sie beschreiben C-Strukturen mit MemoryLayout und greifen über VarHandles darauf zu.
  • Sie erzeugen Java-Bindings für C-Header automatisch mit jextract.

Agenda

Die Agenda ist die Grundlage. Schwerpunkte und Beispiele stimmen wir vorab auf Ihr Team ab.

Tag 1

  • Grenzen von JNI und Ziele der FFM API
  • Linker, SymbolLookup, FunctionDescriptor und Downcalls
  • MemorySegment und Arena: Lebensdauer, Confined und Shared
  • Eingeschränkte Methoden und --enable-native-access
  • Übung: Funktionen der C-Standardbibliothek aufrufen

Tag 2

  • MemoryLayout für Strukturen, Unions und Arrays
  • VarHandles für den Zugriff auf Strukturfelder
  • Upcalls: Java-Callbacks an C übergeben, z. B. für qsort
  • jextract: Bindings aus Header-Dateien erzeugen
  • Übung: native Bibliothek mit jextract einbinden und kapseln

Voraussetzungen und Rahmen

Vorwissen
Fundierte Java-Erfahrung und Grundkenntnisse in C mit Zeigern, Strukturen und Header-Dateien. Ein C-Compiler wie GCC oder Clang auf den Schulungsrechnern.
Werkzeuge
jextract (Open Source, GPL v2 + CE)
Niveau
Experten & Architektur
Teilnehmende
bis 10 Personen, größere Gruppen auf Anfrage
Durchführung
Remote per Videokonferenz oder bei Ihnen vor Ort
Enthalten
Abstimmung vorab, Unterlagen, Übungsprojekte, Teilnahmebescheinigungen

// Trainer mit langjähriger Softwareentwicklungserfahrung, akademische Ausbildung in Informatik und KI.