< prev index next >

src/java.base/share/classes/java/lang/foreign/package-info.java

Print this page
@@ -91,11 +91,11 @@
   *     stdlib.find("strlen").orElseThrow(),
   *     FunctionDescriptor.of(ValueLayout.JAVA_LONG, ValueLayout.ADDRESS)
   * );
   *
   * try (Arena arena = Arena.ofConfined()) {
-  *     MemorySegment cString = arena.allocateUtf8String("Hello");
+  *     MemorySegment cString = arena.allocateFrom("Hello");
   *     long len = (long)strlen.invokeExact(cString); // 5
   * }
   *}
   *
   * Here, we obtain a {@linkplain java.lang.foreign.Linker#nativeLinker() native linker} and we use it

@@ -107,11 +107,11 @@
   * From this information, the linker will uniquely determine the sequence of steps which will turn
   * the method handle invocation (here performed using {@link java.lang.invoke.MethodHandle#invokeExact(java.lang.Object...)})
   * into a foreign function call, according to the rules specified by the ABI of the underlying platform.
   * The {@link java.lang.foreign.Arena} class also provides many useful methods for
   * interacting with foreign code, such as
-  * {@linkplain java.lang.foreign.SegmentAllocator#allocateUtf8String(java.lang.String) converting} Java strings into
+  * {@linkplain java.lang.foreign.SegmentAllocator#allocateFrom(java.lang.String) converting} Java strings into
   * zero-terminated, UTF-8 strings, as demonstrated in the above example.
   *
   * <h2 id="restricted">Restricted methods</h2>
   * Some methods in this package are considered <em>restricted</em>. Restricted methods are typically used to bind native
   * foreign data and/or functions to first-class Java API elements which can then be used directly by clients. For instance

@@ -145,11 +145,9 @@
   * restricted methods is only granted to the modules listed by that option. If this option is not specified,
   * access to restricted methods is enabled for all modules, but access to restricted methods will result in runtime warnings.
   *
   * @spec jni/index.html Java Native Interface Specification
   *
-  * @since 19
+  * @since 22
   */
- @PreviewFeature(feature=PreviewFeature.Feature.FOREIGN)
  package java.lang.foreign;
  
- import jdk.internal.javac.PreviewFeature;
< prev index next >