close notice This article is also available in English. It was translated with technical assistance and editorially reviewed before publication. Don’t show this again. Javas Foreign Function & Memory API (FFM) dient dazu, auf Code in einer Shared Library beziehungsweise DLL zuzugreifen, der in einer Programmiersprache wie C oder Rust geschrieben ist. Allerdings muss der Code dazu einige Voraussetzungen erfüllen. Weiterlesen nach der Anzeige Rudolf Ziegaus ist Software-Entwickler, Java-Trainer und Geschäftsführer der IO Software GmbH. Seine Lieblingsthemen sind PKi, Kryptographie und systemnahe Programmierung. Diese dreiteilige Artikelserie zeigt anhand einer in C geschriebenen Demo-Library, wie eine Java-Anwendung die Funktionen der Bibliothek aufruft, welche Vorbereitungen erforderlich sind und welche Regeln zu beachten sind. Nachdem die ersten beiden Teile die wichtigsten Begriffe und Techniken beim Zugriff von Java auf nativen Code via der FFM-API gezeigt haben, behandelt dieser dritte und letzte Teil einige Spezialitäten, die zu beachten sind. Segmente mit Slicing zuschneiden Es gibt Anwendungen, die nicht das vollständige MemorySegment benutzen sollen, sondern nur einen Teil davon – beispielsweise wenn sie eine Liste übergeben bekommen, aber nur Teile davon benötigen. Dann ist es praktisch, wenn man nicht immer auf das komplette Array zugreifen muss, sondern sich eine Art View über den Speicherbereich legen kann – genau das leistet die Methode asSlice. Sie schneidet einen Bereich aus dem Segment aus und liefert ein neues Segment für diesen Bereich. Wenn etwa ein MemorySegment 64 Byte lang ist, ließen sich folgendermaßen die letzten 16 Byte davon abrufen: Weiterlesen nach der Anzeige MemorySegment segment = arena.allocate(64); MemorySegment info = segment.asSlice(48, 16); segment enthält hier den gesamten Speicherbereich. Die Methode asSlice() schneidet die 16 Bytes ab Position 48 heraus. Die Daten werden dabei aber nicht kopiert, sondern es entsteht eine View ü...
First seen: 2026-05-26 08:30
Last seen: 2026-05-28 12:09