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

New APIs in Java 23

Comparing Java 23 (23-ea+18-1469-open) 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.runtime
                    java.lang
                      Character.UnicodeBlock
                        Class
                          isUnnamedClass()
                          ModuleLayer.Controller
                            • - preview
                            Module
                              • - preview
                              ThreadGroup
                                resume()
                                stop()
                                suspend()
                                Thread
                                  countStackFrames()
                                  resume()
                                  suspend()
                                  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
                                                                                  ChoiceFormat
                                                                                    CompactNumberFormat
                                                                                      DecimalFormat
                                                                                        MessageFormat
                                                                                          SimpleDateFormat
                                                                                            java.util.concurrent
                                                                                              ForkJoinPool
                                                                                                • + throws InterruptedException
                                                                                                ForkJoinTask
                                                                                                  java.util.random
                                                                                                    RandomGenerator
                                                                                                      java.util.stream
                                                                                                        Stream
                                                                                                          java.util.zip
                                                                                                            Deflater
                                                                                                              • + deprecated
                                                                                                              • + deprecated
                                                                                                              Inflater
                                                                                                                • + deprecated
                                                                                                                • + deprecated
                                                                                                                ZipFile
                                                                                                                  javax.crypto.interfaces
                                                                                                                    DHPrivateKey
                                                                                                                      DHPublicKey
                                                                                                                        java.compiler
                                                                                                                          javax.lang.model.element
                                                                                                                            RecordComponentElement
                                                                                                                              TypeElement
                                                                                                                                isUnnamed()
                                                                                                                                VariableElement
                                                                                                                                  • - preview
                                                                                                                                  javax.lang.model.util
                                                                                                                                    • added preview
                                                                                                                                    • added preview
                                                                                                                                    • added preview
                                                                                                                                    • added preview
                                                                                                                                    ElementScanner6
                                                                                                                                      • added preview
                                                                                                                                      • added preview
                                                                                                                                      • added preview
                                                                                                                                      • added preview
                                                                                                                                      • added preview
                                                                                                                                      Elements
                                                                                                                                        Types
                                                                                                                                          javax.lang.model
                                                                                                                                            SourceVersion
                                                                                                                                              javax.tools
                                                                                                                                                SimpleJavaFileObject
                                                                                                                                                  java.desktop
                                                                                                                                                    java.awt.peer
                                                                                                                                                      WindowPeer
                                                                                                                                                        javax.swing.plaf.synth
                                                                                                                                                          SynthTreeUI
                                                                                                                                                            javax.swing
                                                                                                                                                              JFileChooser
                                                                                                                                                                JScrollBar
                                                                                                                                                                  java.management.rmi
                                                                                                                                                                    javax.management.remote.rmi
                                                                                                                                                                      RMIConnector
                                                                                                                                                                        getMBeanServerConnection(Subject)
                                                                                                                                                                        • removed
                                                                                                                                                                        java.management
                                                                                                                                                                          javax.management.loading
                                                                                                                                                                            MLetContent
                                                                                                                                                                            MLet
                                                                                                                                                                            PrivateMLet
                                                                                                                                                                            MLetMBean
                                                                                                                                                                            javax.management.remote
                                                                                                                                                                              JMXConnector
                                                                                                                                                                                • - abstract
                                                                                                                                                                                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 23-ea+18-1469-open 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.