New APIs in Java 24
Comparing Java 24 (24-ea+22-2649-open) with Java 18 (18.0.2.1+1-tem).
Element | Modification |
---|---|
java.base |
|
java.io |
|
BufferedInputStream |
|
|
|
InvalidClassException |
|
InvalidObjectException |
|
ObjectOutputStream.PutField |
|
|
|
|
|
ObjectStreamException |
|
PushbackInputStream |
|
Reader |
|
|
|
SequenceInputStream |
|
java.lang.constant |
|
ConstantDescs |
|
ClassDesc |
|
|
|
|
|
|
|
MethodHandleDesc |
|
MethodTypeDesc |
|
|
|
java.lang.invoke |
|
|
|
ClassSpecializer.Factory |
|
ClassSpecializer.SpeciesData |
|
|
|
MethodHandles |
|
|
|
|
|
java.lang.module |
|
ModuleDescriptor.Exports |
|
ModuleDescriptor.Opens |
|
ModuleDescriptor.Requires |
|
ModuleDescriptor |
|
java.lang.ref |
|
ReferenceQueue |
|
|
|
|
|
java.lang.reflect |
|
Executable |
|
|
|
Field |
|
Parameter |
|
Member |
|
java.lang.runtime |
|
|
|
java.lang |
|
Character.UnicodeBlock |
|
Character |
|
Class |
|
Compiler |
|
Double |
|
FdLibm.Cbrt |
|
FdLibm.Hypot |
|
FdLibm.Pow |
|
Float |
|
Integer |
|
Long |
|
Math |
|
ModuleLayer.Controller |
|
Module |
|
Process |
|
StrictMath |
|
|
|
|
|
String |
|
|
|
ThreadGroup |
|
allowThreadSuspension(boolean) |
|
resume() |
|
stop() |
|
suspend() |
|
Thread |
|
countStackFrames() |
|
|
|
resume() |
|
suspend() |
|
Character.UnicodeScript |
|
StackWalker.Option |
|
java.math |
|
BigDecimal |
|
BigInteger |
|
java.net |
|
DatagramSocketImpl |
|
|
|
|
|
Inet4Address |
|
Inet6Address |
|
|
|
MulticastSocket |
|
|
|
|
|
|
|
SocketException |
|
Socket |
|
|
|
|
|
URL |
|
|
|
|
|
|
|
|
|
|
|
|
|
java.nio.channels |
|
FileChannel |
|
java.nio.charset |
|
StandardCharsets |
|
java.nio.file.spi |
|
FileSystemProvider |
|
java.nio.file |
|
Path |
|
java.nio |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.security.interfaces |
|
DSAKeyPairGenerator |
|
|
|
|
|
|
|
DSAPrivateKey |
|
DSAPublicKey |
|
ECPrivateKey |
|
ECPublicKey |
|
EdECPrivateKey |
|
EdECPublicKey |
|
RSAPrivateKey |
|
RSAPublicKey |
|
XECPrivateKey |
|
XECPublicKey |
|
java.security.spec |
|
PSSParameterSpec |
|
|
|
|
|
java.security |
|
InvalidParameterException |
|
|
|
|
|
java.text |
|
ChoiceFormat |
|
CompactNumberFormat |
|
DecimalFormatSymbols |
|
DecimalFormat |
|
MessageFormat |
|
NumberFormat |
|
SimpleDateFormat |
|
java.time.chrono |
|
IsoChronology |
|
JapaneseChronology |
|
MinguoChronology |
|
ThaiBuddhistChronology |
|
Chronology |
|
java.time.format |
|
DateTimeFormatterBuilder |
|
DateTimeFormatter |
|
java.time |
|
Instant |
|
|
|
ZoneOffset |
|
java.util.concurrent |
|
CompletableFuture |
|
|
|
ConcurrentSkipListMap |
|
ConcurrentSkipListSet |
|
CopyOnWriteArrayList |
|
DelayQueue |
|
Executors |
|
ForkJoinPool |
|
|
|
ForkJoinTask |
|
ForkJoinWorkerThread |
|
FutureTask |
|
|
|
|
|
Future |
|
java.util.random |
|
RandomGenerator |
|
java.util.regex |
|
Matcher |
|
Pattern |
|
MatchResult |
|
java.util.spi |
|
ToolProvider |
|
java.util.stream |
|
Stream |
|
java.util.zip |
|
Deflater |
|
|
|
|
|
Inflater |
|
|
|
|
|
|
|
ZipFile |
|
ZipInputStream |
|
java.util |
|
ArrayList |
|
|
|
Collections |
|
|
|
HashMap |
|
HashSet |
|
IdentityHashMap |
|
|
|
|
|
|
|
LinkedList |
|
Locale |
|
|
|
|
|
|
|
Objects |
|
Random |
|
TreeMap |
|
TreeSet |
|
WeakHashMap |
|
|
|
|
|
NavigableMap |
|
NavigableSet |
|
|
|
|
|
javax.crypto.interfaces |
|
DHPrivateKey |
|
DHPublicKey |
|
javax.crypto.spec |
|
OAEPParameterSpec |
|
|
|
javax.crypto |
|
javax.net.ssl |
|
SSLHandshakeException |
|
SSLKeyException |
|
SSLParameters |
|
SSLPeerUnverifiedException |
|
SSLProtocolException |
|
SSLSessionContext |
|
|
|
|
|
java.compiler |
|
javax.lang.model.element |
|
ElementKind |
|
RecordComponentElement |
|
VariableElement |
|
javax.lang.model.util |
|
ElementScanner6 |
|
Elements |
|
Types |
|
javax.lang.model |
|
SourceVersion |
|
javax.tools |
|
SimpleJavaFileObject |
|
java.desktop |
|
java.awt.color |
|
|
|
|
|
|
|
java.awt.desktop |
|
|
|
|
|
java.awt.dnd |
|
|
|
java.awt.event |
|
|
|
java.awt.geom |
|
CubicCurve2D.Double |
|
getBounds2D() |
|
CubicCurve2D.Float |
|
getBounds2D() |
|
CubicCurve2D |
|
|
|
QuadCurve2D.Double |
|
getBounds2D() |
|
QuadCurve2D.Float |
|
getBounds2D() |
|
QuadCurve2D |
|
java.awt.peer |
|
WindowPeer |
|
java.awt |
|
|
|
|
|
|
|
|
|
|
|
java.beans.beancontext |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.beans |
|
Beans |
|
|
|
javax.print.attribute.standard |
|
javax.sound.midi |
|
|
|
javax.swing.plaf.basic |
|
BasicDirectoryModel |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BasicSliderUI |
|
|
|
BasicSplitPaneDivider |
|
|
|
BasicToolBarUI |
|
|
|
javax.swing.plaf.synth |
|
SynthComboBoxUI |
|
SynthLookAndFeel |
|
|
|
SynthPasswordFieldUI |
|
SynthTreeUI |
|
javax.swing.text.html |
|
AccessibleHTML.HTMLAccessibleContext |
|
|
|
|
|
|
|
javax.swing.text |
|
DefaultEditorKit |
|
|
|
|
|
|
|
|
|
|
|
javax.swing |
|
|
|
|
|
|
|
JFileChooser |
|
JScrollBar |
|
JSplitPane |
|
|
|
java.management.rmi |
|
javax.management.remote.rmi |
|
RMIConnector |
|
getMBeanServerConnection(Subject) |
|
RMIIIOPServerImpl |
|
java.management |
|
javax.management.loading |
|
MLetContent |
|
MLet |
|
PrivateMLet |
|
MLetMBean |
|
javax.management.remote |
|
JMXConnector |
|
|
|
java.net.http |
|
java.net.http |
|
|
|
HttpClient.Builder |
|
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+22-2649-open and
18.0.2.1+1-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.