New APIs in Java 22
Comparing Java 22 (22.0.2+9-tem) with Java 20 (20.0.2+9-tem).
| Element | Modification | 
|---|---|
| java.base | |
| java.io | |
| 
 | |
| java.lang.constant | |
| ConstantDescs | |
| ClassDesc | |
| MethodHandleDesc | |
| MethodTypeDesc | |
| 
 | |
| java.lang.foreign | |
| 
 | |
| 
 | |
| isCloseableBy(Thread) | |
| openConfined() | |
| openShared() | |
| scope() | |
| 
 | |
| 
 | |
| withBitAlignment(long) | |
| Linker.Option.CaptureCallState | |
| 
 | |
| captureCallState(String...) | |
| 
 | |
| 
 | |
| upcallStub(MethodHandle, FunctionDescriptor,... | |
| 
 | |
| 
 | |
| bitAlignment() | |
| bitOffset(MemoryLayout.PathElement...) | |
| bitOffsetHandle(MemoryLayout.PathElement...) | |
| bitSize() | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| sequenceLayout(MemoryLayout) | |
| 
 | |
| valueLayout(Class, ByteOrder) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| allocateNative(MemoryLayout, SegmentScope) | |
| allocateNative(long, SegmentScope) | |
| allocateNative(long, long, SegmentScope) | |
| array() | |
| 
 | |
| 
 | |
| get(ValueLayout.OfAddress, long) | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| getAtIndex(ValueLayout.OfAddress, long) | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| getUtf8String(long) | |
| 
 | |
| ofAddress(long, long) | |
| ofAddress(long, long, SegmentScope) | |
| ofAddress(long, long, SegmentScope, Runnable) | |
| scope() | |
| segmentOffset(MemorySegment) | |
| set(ValueLayout.OfAddress, long, MemorySegment) | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| setAtIndex(ValueLayout.OfAddress, long,... | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| setUtf8String(long, String) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| allocate(ValueLayout.OfAddress, MemorySegment) | |
| allocate(ValueLayout.OfByte, byte) | |
| allocate(ValueLayout.OfChar, char) | |
| allocate(ValueLayout.OfDouble, double) | |
| allocate(ValueLayout.OfFloat, float) | |
| allocate(ValueLayout.OfInt, int) | |
| allocate(ValueLayout.OfLong, long) | |
| allocate(ValueLayout.OfShort, short) | |
| allocateArray(MemoryLayout, long) | |
| allocateArray(ValueLayout.OfByte, byte...) | |
| allocateArray(ValueLayout.OfChar, char...) | |
| allocateArray(ValueLayout.OfDouble, double...) | |
| allocateArray(ValueLayout.OfFloat, float...) | |
| allocateArray(ValueLayout.OfInt, int...) | |
| allocateArray(ValueLayout.OfLong, long...) | |
| allocateArray(ValueLayout.OfShort, short...) | |
| allocateUtf8String(String) | |
| nativeAllocator(SegmentScope) | |
| SegmentScope | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| libraryLookup(Path, SegmentScope) | |
| libraryLookup(String, SegmentScope) | |
| 
 | |
| withBitAlignment(long) | |
| VaList.Builder | |
| VaList | |
| ValueLayout.OfAddress | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| withBitAlignment(long) | |
| 
 | |
| arrayElementVarHandle(int...) | |
| withBitAlignment(long) | |
| java.lang.invoke | |
| MethodHandles | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| memorySegmentViewVarHandle(ValueLayout) | |
| 
 | |
| StringConcatFactory | |
| VarHandle | |
| 
 | |
| java.lang.reflect | |
| ClassFileFormatVersion | |
| java.lang.runtime | |
| 
 | |
| java.lang | |
| Character.UnicodeBlock | |
| Character | |
| Class | |
| Compiler | |
| 
 | |
| Math | |
| ModuleLayer.Controller | |
| 
 | |
| Module | |
| 
 | |
| StrictMath | |
| 
 | |
| 
 | |
| String | |
| ThreadGroup | |
| allowThreadSuspension(boolean) | |
| Thread | |
| countStackFrames() | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| StackWalker.Option | |
| 
 | |
| allowSetThreadLocals(boolean) | |
| 
 | |
| allowSetThreadLocals(boolean) | |
| 
 | |
| allowSetThreadLocals(boolean) | |
| java.net | |
| Inet4Address | |
| Inet6Address | |
| InetAddress | |
| java.nio.channels | |
| FileChannel | |
| map(FileChannel.MapMode, long, long, SegmentScope) | |
| java.nio.charset | |
| StandardCharsets | |
| java.nio.file | |
| Path | |
| java.security.cert | |
| CertStore | |
| 
 | |
| java.security.interfaces | |
| 
 | |
| DSAPrivateKey | |
| DSAPublicKey | |
| ECPrivateKey | |
| ECPublicKey | |
| EdECPrivateKey | |
| EdECPublicKey | |
| RSAPrivateKey | |
| RSAPublicKey | |
| XECPrivateKey | |
| XECPublicKey | |
| java.security | |
| 
 | |
| 
 | |
| java.text | |
| java.util.concurrent | |
| ConcurrentSkipListMap | |
| ConcurrentSkipListSet | |
| CopyOnWriteArrayList | |
| DelayQueue | |
| Executors | |
| 
 | |
| 
 | |
| ForkJoinPool | |
| 
 | |
| ForkJoinTask | |
| java.util.random | |
| RandomGenerator | |
| java.util.regex | |
| Pattern | |
| java.util.stream | |
| Stream | |
| java.util | |
| ArrayList | |
| 
 | |
| Collections | |
| 
 | |
| 
 | |
| LinkedList | |
| Locale | |
| TreeMap | |
| TreeSet | |
| 
 | |
| 
 | |
| NavigableMap | |
| NavigableSet | |
| 
 | |
| 
 | |
| javax.crypto.interfaces | |
| DHPrivateKey | |
| DHPublicKey | |
| javax.crypto | |
| javax.net.ssl | |
| KeyManagerFactory | |
| 
 | |
| TrustManagerFactory | |
| 
 | |
| java.compiler | |
| javax.lang.model.element | |
| RecordComponentElement | |
| VariableElement | |
| javax.lang.model.util | |
| ElementScanner6 | |
| Elements | |
| javax.lang.model | |
| SourceVersion | |
| java.desktop | |
| javax.swing.plaf.synth | |
| SynthComboBoxUI | |
| SynthLookAndFeel | |
| 
 | |
| javax.swing | |
| JFileChooser | |
| java.management.rmi | |
| javax.management.remote.rmi | |
| RMIIIOPServerImpl | |
| java.management | |
| javax.management.remote | |
| JMXConnector | |
| 
 | |
| java.net.http | |
| java.net.http | |
| 
 | |
| java.xml.crypto | |
| javax.xml.crypto.dsig | |
| SignatureMethod | |
| java.xml | |
| javax.xml.catalog | |
| CatalogManager | |
  This report is based on simple comparison of all public and
  protected APIs of the Java SE packages of JDK builds
  22.0.2+9-tem and 20.0.2+9-tem.
  It does not make statements about
  compatibility.
For the latest Java versions the corresponding CSRs (Compatibility & Specification Review) are linked for a quick reference to find out about the reasoning of the change.