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

New APIs in Java 22

Comparing Java 22 (22.0.1+8-tem) with Java 21 (21.0.2+13-LTS-tem).

Element Modification
java.base
    java.io
      Console
        java.lang.foreign
          • - preview
          • - preview
          • + abstract
          • - preview
          • - preview
          • - preview
          isTrivial()
          • - preview
          • - preview
          • - preview
          • + abstract
          • + abstract
          • + abstract
          sequenceLayout(MemoryLayout)
          • + abstract
          • + abstract
          • - preview
          • - preview
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          getUtf8String(long)
          • + abstract
          segmentOffset(MemorySegment)
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          • + abstract
          setUtf8String(long, String)
          • - preview
          • - preview
          allocate(AddressLayout, 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)
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          • - preview
          arrayElementVarHandle(int...)
          java.lang.invoke
            MethodHandles
              • - preview
              • - preview
              • - preview
              • - preview
              • - preview
              memorySegmentViewVarHandle(ValueLayout)
              • - preview
              java.lang.reflect
                ClassFileFormatVersion
                  java.lang
                    Character.UnicodeBlock
                      Class
                        isUnnamedClass()
                        ModuleLayer.Controller
                          • - preview
                          Module
                            • - preview
                            Thread
                              countStackFrames()
                              StackWalker.Option
                                java.net
                                  Inet4Address
                                    Inet6Address
                                      InetAddress
                                        java.nio.channels
                                          FileChannel
                                            • - preview
                                            java.nio.charset
                                              StandardCharsets
                                                java.nio.file
                                                  Path
                                                    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
                                                                                ForkJoinPool
                                                                                  • + throws InterruptedException
                                                                                  ForkJoinTask
                                                                                    java.util.random
                                                                                      RandomGenerator
                                                                                        java.util.stream
                                                                                          Stream
                                                                                            javax.crypto.interfaces
                                                                                              DHPrivateKey
                                                                                                DHPublicKey
                                                                                                  java.compiler
                                                                                                    javax.lang.model.element
                                                                                                      RecordComponentElement
                                                                                                        TypeElement
                                                                                                          isUnnamed()
                                                                                                          VariableElement
                                                                                                            • - preview
                                                                                                            javax.lang.model.util
                                                                                                              ElementScanner6
                                                                                                                Elements
                                                                                                                  javax.lang.model
                                                                                                                    SourceVersion
                                                                                                                      java.desktop
                                                                                                                        java.awt.peer
                                                                                                                          WindowPeer
                                                                                                                            javax.swing
                                                                                                                              JFileChooser
                                                                                                                                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.0.1+8-tem and 21.0.2+13-LTS-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.