New APIs in Java 24
Comparing Java 24 (24.0.2+12-54-open) with Java 21 (21.0.9+10-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 | |
| 
 | |
| 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 | |
  This report is based on simple comparison of all public and
  protected APIs of the Java SE packages of JDK builds
  24.0.2+12-54-open 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.