New APIs in Java 24
Comparing Java 24 (24-ea+27-3551-open) with Java 21 (21.0.5+11-LTS-tem).
Element | Modification |
---|---|
java.base |
|
java.io |
|
Console |
|
ObjectInputStream |
|
|
|
|
|
ObjectOutputStream.PutField |
|
|
|
ObjectOutputStream |
|
|
|
|
|
Reader |
|
java.lang.constant |
|
ClassDesc |
|
|
|
|
|
|
|
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 |
|
|
|
Process |
|
ScopedValue.Carrier |
|
call(Callable) |
|
get(Supplier) |
|
ScopedValue |
|
callWhere(ScopedValue, Object, Callable) |
|
getWhere(ScopedValue, Object, Supplier) |
|
runWhere(ScopedValue, Object, Runnable) |
|
SecurityManager |
|
|
|
ThreadGroup |
|
resume() |
|
stop() |
|
suspend() |
|
Thread |
|
countStackFrames() |
|
resume() |
|
suspend() |
|
Character.UnicodeScript |
|
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.spec |
|
NamedParameterSpec |
|
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 |
|
javax.crypto.spec |
|
javax.crypto |
|
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.awt.peer |
|
WindowPeer |
|
repositionSecurityWarning() |
|
java.awt |
|
|
|
KeyboardFocusManager |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Window |
|
|
|
|
|
java.beans.beancontext |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.beans |
|
Beans |
|
|
|
|
|
|
|
javax.print.attribute.standard |
|
javax.sound.sampled |
|
|
|
javax.swing.plaf.basic |
|
BasicSliderUI |
|
|
|
BasicSplitPaneDivider |
|
javax.swing.plaf.synth |
|
SynthTreeUI |
|
javax.swing |
|
FocusManager |
|
|
|
JFileChooser |
|
JInternalFrame |
|
|
|
JScrollBar |
|
JSplitPane |
|
UIManager |
|
|
|
java.logging |
|
java.util.logging |
|
FileHandler |
|
|
|
|
|
|
|
|
|
|
|
|
|
Handler |
|
|
|
|
|
|
|
|
|
|
|
LogManager |
|
|
|
|
|
|
|
|
|
Logger |
|
|
|
|
|
|
|
|
|
MemoryHandler |
|
|
|
|
|
SocketHandler |
|
|
|
StreamHandler |
|
|
|
|
|
|
|
java.management.rmi |
|
javax.management.remote.rmi |
|
RMIConnector |
|
getMBeanServerConnection(Subject) |
|
java.management |
|
javax.management.loading |
|
MLetContent |
|
MLet |
|
PrivateMLet |
|
MLetMBean |
|
javax.management.remote |
|
JMXConnector |
|
|
|
java.naming |
|
javax.naming |
|
Context |
|
APPLET |
|
java.rmi |
|
java.rmi.server |
|
RMIClassLoader |
|
|
|
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 24-ea+27-3551-open and
21.0.5+11-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.