The Java Version Almanac
javaalmanac.io
Feedback on this page?

New APIs in Java 22

Comparing Java 22 (22+36-2370-open) with Java 20 (20.0.2+9-tem).

Element Modification
java.base
    java.io
      • + sealed
      java.lang.constant
        ConstantDescs
          ClassDesc
            MethodHandleDesc
              MethodTypeDesc
                • + abstract
                java.lang.foreign
                  • - preview
                  • + abstract
                  isCloseableBy(Thread)
                  openConfined()
                  openShared()
                  scope()
                  • - preview
                  • - preview
                  withBitAlignment(long)
                  Linker.Option.CaptureCallState
                  • - preview
                  captureCallState(String...)
                  • - preview
                  • + abstract
                  upcallStub(MethodHandle, FunctionDescriptor,...
                  • - preview
                  • - preview
                  bitAlignment()
                  bitOffset(MemoryLayout.PathElement...)
                  bitOffsetHandle(MemoryLayout.PathElement...)
                  bitSize()
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  sequenceLayout(MemoryLayout)
                  • + abstract
                  valueLayout(Class, ByteOrder)
                  • + abstract
                  withBitAlignment(long)
                  • - preview
                  allocateNative(MemoryLayout, SegmentScope)
                  allocateNative(long, SegmentScope)
                  allocateNative(long, long, SegmentScope)
                  array()
                  • + abstract
                  • + abstract
                  get(ValueLayout.OfAddress, long)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  getAtIndex(ValueLayout.OfAddress, long)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  getUtf8String(long)
                  • + abstract
                  ofAddress(long, long)
                  ofAddress(long, long, SegmentScope)
                  ofAddress(long, long, SegmentScope, Runnable)
                  scope()
                  segmentOffset(MemorySegment)
                  set(ValueLayout.OfAddress, long, MemorySegment)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  setAtIndex(ValueLayout.OfAddress, long,...
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  setUtf8String(long, String)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  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
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  libraryLookup(Path, SegmentScope)
                  libraryLookup(String, SegmentScope)
                  • - preview
                  withBitAlignment(long)
                  VaList.Builder
                  VaList
                  ValueLayout.OfAddress
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  arrayElementVarHandle(int...)
                  withBitAlignment(long)
                  java.lang.invoke
                    ClassSpecializer.Factory
                    ClassSpecializer.SpeciesData
                    MethodHandles
                      • - preview
                      • - preview
                      • - preview
                      • - preview
                      • - preview
                      memorySegmentViewVarHandle(ValueLayout)
                      • - preview
                      StringConcatFactory
                        VarHandle
                          • - final
                          java.lang.reflect
                            ClassFileFormatVersion
                              java.lang.runtime
                                • - preview
                                java.lang
                                  Character.UnicodeBlock
                                    Character
                                      Class
                                        Compiler
                                        FdLibm.Cbrt
                                        FdLibm.Hypot
                                        FdLibm.Pow
                                        • - preview
                                        Math
                                          ModuleLayer.Controller
                                            • - preview
                                            Module
                                              • - preview
                                              StrictMath
                                                • + implements Appendable
                                                • + implements Appendable
                                                String
                                                  ThreadGroup
                                                    allowThreadSuspension(boolean)
                                                    Thread
                                                      countStackFrames()
                                                      • - preview
                                                      • - preview
                                                      • - preview
                                                      • - preview
                                                      StackWalker.Option
                                                        • - preview
                                                        allowSetThreadLocals(boolean)
                                                        • - preview
                                                        allowSetThreadLocals(boolean)
                                                        • - preview
                                                        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
                                                                                • + final
                                                                                java.security.interfaces
                                                                                  • + implements AlgorithmParameterSpec
                                                                                  DSAPrivateKey
                                                                                    DSAPublicKey
                                                                                      ECPrivateKey
                                                                                        ECPublicKey
                                                                                          EdECPrivateKey
                                                                                            EdECPublicKey
                                                                                              RSAPrivateKey
                                                                                                RSAPublicKey
                                                                                                  XECPrivateKey
                                                                                                    XECPublicKey
                                                                                                      java.security
                                                                                                        • - implements Key
                                                                                                        • + implements AsymmetricKey
                                                                                                        • - implements Key
                                                                                                        • + implements AsymmetricKey
                                                                                                        java.text
                                                                                                          java.util.concurrent
                                                                                                            ConcurrentSkipListMap
                                                                                                              ConcurrentSkipListSet
                                                                                                                CopyOnWriteArrayList
                                                                                                                  DelayQueue
                                                                                                                    Executors
                                                                                                                      • - preview
                                                                                                                      • - preview
                                                                                                                      ForkJoinPool
                                                                                                                        • + throws InterruptedException
                                                                                                                        ForkJoinTask
                                                                                                                          java.util.random
                                                                                                                            RandomGenerator
                                                                                                                              java.util.regex
                                                                                                                                Pattern
                                                                                                                                  java.util.stream
                                                                                                                                    Stream
                                                                                                                                      java.util
                                                                                                                                        ArrayList
                                                                                                                                          • + final
                                                                                                                                          Collections
                                                                                                                                            • - implements Map
                                                                                                                                            • + implements SequencedMap
                                                                                                                                            • - implements Set
                                                                                                                                            • + implements SequencedSet
                                                                                                                                            LinkedList
                                                                                                                                              Locale
                                                                                                                                                TreeMap
                                                                                                                                                  TreeSet
                                                                                                                                                    • + implements SequencedCollection
                                                                                                                                                    • - implements Collection
                                                                                                                                                    • + implements SequencedCollection
                                                                                                                                                    NavigableMap
                                                                                                                                                      NavigableSet
                                                                                                                                                        • - implements Map
                                                                                                                                                        • + implements SequencedMap
                                                                                                                                                        • + implements SequencedSet
                                                                                                                                                        javax.crypto.interfaces
                                                                                                                                                          DHPrivateKey
                                                                                                                                                            DHPublicKey
                                                                                                                                                              javax.crypto
                                                                                                                                                                javax.net.ssl
                                                                                                                                                                  KeyManagerFactory
                                                                                                                                                                    • + final
                                                                                                                                                                    TrustManagerFactory
                                                                                                                                                                      • + final
                                                                                                                                                                      java.compiler
                                                                                                                                                                        javax.lang.model.element
                                                                                                                                                                          RecordComponentElement
                                                                                                                                                                            VariableElement
                                                                                                                                                                              javax.lang.model.util
                                                                                                                                                                                ElementScanner6
                                                                                                                                                                                  Elements
                                                                                                                                                                                    javax.lang.model
                                                                                                                                                                                      SourceVersion
                                                                                                                                                                                        java.desktop
                                                                                                                                                                                          java.awt.peer
                                                                                                                                                                                            WindowPeer
                                                                                                                                                                                              javax.swing.plaf.synth
                                                                                                                                                                                                SynthComboBoxUI
                                                                                                                                                                                                  SynthLookAndFeel
                                                                                                                                                                                                    • + deprecated
                                                                                                                                                                                                    • + forRemoval
                                                                                                                                                                                                    javax.swing.text.html
                                                                                                                                                                                                      AccessibleHTML.HTMLAccessibleContext
                                                                                                                                                                                                        javax.swing
                                                                                                                                                                                                          JFileChooser
                                                                                                                                                                                                            java.management.rmi
                                                                                                                                                                                                              javax.management.remote.rmi
                                                                                                                                                                                                                RMIIIOPServerImpl
                                                                                                                                                                                                                java.management
                                                                                                                                                                                                                  javax.management.remote
                                                                                                                                                                                                                    JMXConnector
                                                                                                                                                                                                                      • + deprecated
                                                                                                                                                                                                                      • + forRemoval
                                                                                                                                                                                                                      java.net.http
                                                                                                                                                                                                                        java.net.http
                                                                                                                                                                                                                          • + implements AutoCloseable
                                                                                                                                                                                                                          java.xml.crypto
                                                                                                                                                                                                                            javax.xml.crypto.dsig
                                                                                                                                                                                                                              SignatureMethod
                                                                                                                                                                                                                                java.xml
                                                                                                                                                                                                                                  javax.xml.catalog
                                                                                                                                                                                                                                    CatalogManager
                                                                                                                                                                                                                                      GroupEntry.ResolveType

                                                                                                                                                                                                                                      This report is based on simple comparison of all public and protected APIs of the java.* and javax.* packages of JDK builds 22+36-2370-open 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.

                                                                                                                                                                                                                                      More detailed API comparisons based on the japicmp tool can be found here.