New APIs in Java 21
Comparing Java 21 (21.0.9+10-LTS-tem) with Java 17 (17.0.17+10-tem).
| Element | Modification | 
|---|---|
| java.base | |
| java.io | |
| BufferedInputStream | |
| 
 | |
| FileInputStream | |
| InvalidClassException | |
| InvalidObjectException | |
| ObjectInputStream.GetField | |
| 
 | |
| 
 | |
| ObjectStreamException | |
| PrintStream | |
| PushbackInputStream | |
| SequenceInputStream | |
| java.lang.constant | |
| ConstantDescs | |
| ClassDesc | |
| MethodHandleDesc | |
| MethodTypeDesc | |
| 
 | |
| java.lang.invoke | |
| 
 | |
| 
 | |
| 
 | |
| MethodHandles | |
| StringConcatFactory | |
| 
 | |
| 
 | |
| java.lang.module | |
| ModuleDescriptor.Exports | |
| ModuleDescriptor.Opens | |
| ModuleDescriptor.Requires | |
| ModuleDescriptor | |
| java.lang.ref | |
| ReferenceQueue | |
| 
 | |
| 
 | |
| java.lang.reflect | |
| Executable | |
| 
 | |
| Field | |
| Method | |
| 
 | |
| Parameter | |
| Member | |
| java.lang.runtime | |
| 
 | |
| java.lang | |
| Character.UnicodeBlock | |
| Character | |
| Class | |
| Compiler | |
| Double | |
| Enum | |
| 
 | |
| Float | |
| Integer | |
| Long | |
| Math | |
| ModuleLayer.Controller | |
| Module | |
| Object | |
| 
 | |
| Runtime | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| StrictMath | |
| 
 | |
| 
 | |
| String | |
| System | |
| 
 | |
| 
 | |
| ThreadGroup | |
| allowThreadSuspension(boolean) | |
| Thread | |
| 
 | |
| 
 | |
| Character.UnicodeScript | |
| java.math | |
| BigDecimal | |
| BigInteger | |
| java.net.spi | |
| java.net | |
| 
 | |
| SocketException | |
| URL | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.nio.channels | |
| FileChannel | |
| java.nio.charset | |
| Charset | |
| java.nio.file.spi | |
| FileSystemProvider | |
| java.nio | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.security.interfaces | |
| DSAKeyPairGenerator | |
| 
 | |
| 
 | |
| java.security.spec | |
| PSSParameterSpec | |
| 
 | |
| 
 | |
| java.security | |
| InvalidParameterException | |
| KeyStoreSpi | |
| KeyStore | |
| java.text | |
| DecimalFormatSymbols | |
| java.time.chrono | |
| IsoChronology | |
| JapaneseChronology | |
| MinguoChronology | |
| ThaiBuddhistChronology | |
| Chronology | |
| java.time.format | |
| DateTimeFormatterBuilder | |
| DateTimeFormatter | |
| java.time | |
| Duration | |
| 
 | |
| ZoneOffset | |
| java.util.concurrent | |
| CompletableFuture | |
| 
 | |
| ConcurrentSkipListMap | |
| ConcurrentSkipListSet | |
| CopyOnWriteArrayList | |
| DelayQueue | |
| Executors | |
| ForkJoinPool | |
| ForkJoinTask | |
| ForkJoinWorkerThread | |
| FutureTask | |
| 
 | |
| ThreadPoolExecutor | |
| 
 | |
| 
 | |
| Future | |
| java.util.regex | |
| Matcher | |
| Pattern | |
| MatchResult | |
| java.util.spi | |
| ToolProvider | |
| java.util.zip | |
| ZipInputStream | |
| java.util | |
| ArrayList | |
| 
 | |
| Collections | |
| 
 | |
| HashMap | |
| HashSet | |
| IdentityHashMap | |
| 
 | |
| 
 | |
| 
 | |
| LinkedList | |
| Locale | |
| 
 | |
| 
 | |
| 
 | |
| Objects | |
| Random | |
| TreeMap | |
| TreeSet | |
| WeakHashMap | |
| 
 | |
| 
 | |
| NavigableMap | |
| NavigableSet | |
| 
 | |
| 
 | |
| javax.crypto.spec | |
| OAEPParameterSpec | |
| 
 | |
| javax.net.ssl | |
| SSLHandshakeException | |
| SSLKeyException | |
| SSLParameters | |
| SSLPeerUnverifiedException | |
| SSLProtocolException | |
| SSLSessionContext | |
| 
 | |
| 
 | |
| javax.security.auth | |
| Subject | |
| 
 | |
| 
 | |
| java.compiler | |
| javax.annotation.processing | |
| Messager | |
| javax.lang.model.element | |
| ElementKind | |
| ExecutableElement | |
| TypeElement | |
| VariableElement | |
| javax.lang.model.util | |
| Elements | |
| javax.lang.model | |
| SourceVersion | |
| javax.tools | |
| ForwardingJavaFileManager | |
| DocumentationTool.Location | |
| JavaFileManager | |
| java.desktop | |
| java.awt.color | |
| 
 | |
| 
 | |
| 
 | |
| finalize() | |
| 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.image | |
| ColorModel | |
| finalize() | |
| IndexColorModel | |
| finalize() | |
| java.awt | |
| Graphics | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| PrintJob | |
| 
 | |
| 
 | |
| 
 | |
| javax.imageio.spi | |
| ServiceRegistry | |
| 
 | |
| javax.imageio.stream | |
| FileCacheImageInputStream | |
| 
 | |
| FileImageInputStream | |
| 
 | |
| FileImageOutputStream | |
| 
 | |
| ImageInputStreamImpl | |
| 
 | |
| MemoryCacheImageInputStream | |
| 
 | |
| javax.sound.midi | |
| 
 | |
| javax.swing.plaf.basic | |
| BasicDirectoryModel | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| BasicToolBarUI | |
| 
 | |
| javax.swing.plaf.synth | |
| SynthLookAndFeel | |
| 
 | |
| SynthPasswordFieldUI | |
| javax.swing.text.html | |
| 
 | |
| 
 | |
| 
 | |
| javax.swing.text | |
| DefaultEditorKit | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| javax.swing | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.management.rmi | |
| javax.management.remote.rmi | |
| RMIIIOPServerImpl | |
| java.management | |
| java.lang.management | |
| MemoryMXBean | |
| 
 | |
| javax.management.loading | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| javax.management.remote | |
| JMXConnector | |
| 
 | |
| java.net.http | |
| java.net.http | |
| 
 | |
| HttpClient.Builder | |
| HttpRequest.Builder | |
| java.xml.crypto | |
| javax.xml.crypto.dsig | |
| SignatureMethod | |
| java.xml | |
| javax.xml.xpath | |
| XPathFactory | |
  This report is based on simple comparison of all public and
  protected APIs of the Java SE packages of JDK builds
  21.0.9+10-LTS-tem and 17.0.17+10-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.