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

New APIs in Java 23

Comparing Java 23 (23-ea+12-893-open) with Java 20 (20.0.2+9-tem).

Element Modification
java.base
    java.io
      • + sealed
      DataInputStream
        • - final
        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)
                                                      resume()
                                                      stop()
                                                      suspend()
                                                      Thread
                                                        countStackFrames()
                                                        • - preview
                                                        • - preview
                                                        • - preview
                                                        resume()
                                                        • - preview
                                                        suspend()
                                                        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
                                                                                                            ChoiceFormat
                                                                                                              CompactNumberFormat
                                                                                                                DecimalFormat
                                                                                                                  MessageFormat
                                                                                                                    SimpleDateFormat
                                                                                                                      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.zip
                                                                                                                                                    ZipFile
                                                                                                                                                      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
                                                                                                                                                                                                    Types
                                                                                                                                                                                                      javax.lang.model
                                                                                                                                                                                                        SourceVersion
                                                                                                                                                                                                          java.desktop
                                                                                                                                                                                                            java.awt.peer
                                                                                                                                                                                                              WindowPeer
                                                                                                                                                                                                                javax.swing.plaf.synth
                                                                                                                                                                                                                  SynthComboBoxUI
                                                                                                                                                                                                                    SynthLookAndFeel
                                                                                                                                                                                                                      • + deprecated
                                                                                                                                                                                                                      • + forRemoval
                                                                                                                                                                                                                      SynthTreeUI
                                                                                                                                                                                                                        javax.swing.text.html
                                                                                                                                                                                                                          AccessibleHTML.HTMLAccessibleContext
                                                                                                                                                                                                                            javax.swing
                                                                                                                                                                                                                              JFileChooser
                                                                                                                                                                                                                                JScrollBar
                                                                                                                                                                                                                                  • added
                                                                                                                                                                                                                                  • added
                                                                                                                                                                                                                                  java.management.rmi
                                                                                                                                                                                                                                    javax.management.remote.rmi
                                                                                                                                                                                                                                      RMIIIOPServerImpl
                                                                                                                                                                                                                                      java.management
                                                                                                                                                                                                                                        javax.management.loading
                                                                                                                                                                                                                                          MLetContent
                                                                                                                                                                                                                                          MLet
                                                                                                                                                                                                                                          PrivateMLet
                                                                                                                                                                                                                                          MLetMBean
                                                                                                                                                                                                                                          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 23-ea+12-893-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.