New APIs in Java 23
Comparing Java 23 (23.0.2+7-tem) with Java 21 (21.0.9+10-LTS-tem).
| Element | Modification | 
|---|---|
java.base  | 
    |
java.io  | 
    |
Console  | 
    |
ObjectOutputStream.PutField  | 
    |
  | 
  |
java.lang.foreign  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
isTrivial()  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
sequenceLayout(MemoryLayout)  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
getUtf8String(long)  | 
    |
  | 
  |
segmentOffset(MemorySegment)  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
setUtf8String(long, String)  | 
    |
  | 
  |
  | 
  |
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)  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
arrayElementVarHandle(int...)  | 
    |
java.lang.invoke  | 
    |
MethodHandles  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
memorySegmentViewVarHandle(ValueLayout)  | 
    |
  | 
  |
StringConcatFactory  | 
    |
MAX_INDY_CONCAT_ARG_SLOTS  | 
    |
makeConcatWithTemplate(List, List)  | 
    |
makeConcatWithTemplateCluster(List, List, int)  | 
    |
makeConcatWithTemplateGetters(List, List, int)  | 
    |
java.lang.reflect  | 
    |
ClassFileFormatVersion  | 
    |
java.lang.runtime  | 
    |
TemplateRuntime  | 
    |
java.lang  | 
    |
Character.UnicodeBlock  | 
    |
Class  | 
    |
isUnnamedClass()  | 
    |
ModuleLayer.Controller  | 
    |
  | 
  |
Module  | 
    |
  | 
  |
ScopedValue.Carrier  | 
    |
call(Callable)  | 
    |
get(Supplier)  | 
    |
ScopedValue  | 
    |
callWhere(ScopedValue, Object, Callable)  | 
    |
getWhere(ScopedValue, Object, Supplier)  | 
    |
ThreadGroup  | 
    |
resume()  | 
    |
stop()  | 
    |
suspend()  | 
    |
Thread  | 
    |
countStackFrames()  | 
    |
resume()  | 
    |
suspend()  | 
    |
StackWalker.Option  | 
    |
StringTemplate.Processor.Linkage  | 
    |
StringTemplate.Processor  | 
    |
StringTemplate  | 
    |
java.net  | 
    |
DatagramSocketImpl  | 
    |
  | 
  |
  | 
  |
Inet4Address  | 
    |
Inet6Address  | 
    |
InetAddress  | 
    |
MulticastSocket  | 
    |
  | 
  |
  | 
  |
  | 
  |
Socket  | 
    |
  | 
  |
  | 
  |
java.nio.channels  | 
    |
FileChannel  | 
    |
  | 
  |
java.nio.charset  | 
    |
StandardCharsets  | 
    |
java.nio.file  | 
    |
Path  | 
    |
java.security.interfaces  | 
    |
  | 
  |
DSAPrivateKey  | 
    |
DSAPublicKey  | 
    |
ECPrivateKey  | 
    |
ECPublicKey  | 
    |
EdECPrivateKey  | 
    |
EdECPublicKey  | 
    |
RSAPrivateKey  | 
    |
RSAPublicKey  | 
    |
XECPrivateKey  | 
    |
XECPublicKey  | 
    |
java.security  | 
    |
  | 
  |
  | 
  |
java.text  | 
    |
ChoiceFormat  | 
    |
CompactNumberFormat  | 
    |
DecimalFormat  | 
    |
MessageFormat  | 
    |
NumberFormat  | 
    |
SimpleDateFormat  | 
    |
java.time  | 
    |
Instant  | 
    |
java.util.concurrent  | 
    |
ForkJoinPool  | 
    |
  | 
  |
ForkJoinTask  | 
    |
java.util.random  | 
    |
RandomGenerator  | 
    |
java.util.stream  | 
    |
Stream  | 
    |
java.util.zip  | 
    |
Deflater  | 
    |
  | 
  |
  | 
  |
Inflater  | 
    |
  | 
  |
  | 
  |
ZipFile  | 
    |
java.util  | 
    |
FormatProcessor  | 
    |
javax.crypto.interfaces  | 
    |
DHPrivateKey  | 
    |
DHPublicKey  | 
    |
java.compiler  | 
    |
javax.lang.model.element  | 
    |
RecordComponentElement  | 
    |
TypeElement  | 
    |
isUnnamed()  | 
    |
VariableElement  | 
    |
  | 
  |
javax.lang.model.util  | 
    |
ElementScanner6  | 
    |
Elements  | 
    |
Types  | 
    |
javax.lang.model  | 
    |
SourceVersion  | 
    |
javax.tools  | 
    |
SimpleJavaFileObject  | 
    |
java.desktop  | 
    |
java.beans.beancontext  | 
    |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
  | 
  |
java.beans  | 
    |
Beans  | 
    |
  | 
  |
javax.print.attribute.standard  | 
    |
javax.swing.plaf.basic  | 
    |
BasicSliderUI  | 
    |
  | 
  |
javax.swing.plaf.synth  | 
    |
SynthTreeUI  | 
    |
javax.swing  | 
    |
JFileChooser  | 
    |
JScrollBar  | 
    |
java.management.rmi  | 
    |
javax.management.remote.rmi  | 
    |
RMIConnector  | 
    |
getMBeanServerConnection(Subject)  | 
    |
java.management  | 
    |
javax.management.loading  | 
    |
MLetContent  | 
    |
MLet  | 
    |
PrivateMLet  | 
    |
MLetMBean  | 
    |
javax.management.remote  | 
    |
JMXConnector  | 
    |
  | 
  |
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
  23.0.2+7-tem and 21.0.9+10-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.