New APIs in Java 22
Comparing Java 22 (22.0.2+9-tem) with Java 9 (9.0.4-open).
| Element | Modification | 
|---|---|
| java.activation | |
| java.base | |
| java.io | |
| BufferedInputStream | |
| ByteArrayInputStream | |
| ByteArrayOutputStream | |
| CharArrayReader | |
| 
 | |
| FileInputStream | |
| finalize() | |
| FileOutputStream | |
| finalize() | |
| FileReader | |
| FileWriter | |
| InputStreamReader | |
| InputStream | |
| InvalidClassException | |
| InvalidObjectException | |
| ObjectInputFilter.Config | |
| ObjectInputStream.GetField | |
| 
 | |
| 
 | |
| ObjectStreamException | |
| OutputStream | |
| PrintStream | |
| PrintWriter | |
| PushbackInputStream | |
| Reader | |
| SequenceInputStream | |
| WriteAbortedException | |
| 
 | |
| Writer | |
| ObjectInputFilter | |
| java.lang.annotation | |
| ElementType | |
| java.lang.invoke | |
| 
 | |
| 
 | |
| 
 | |
| MethodHandles.Lookup | |
| 
 | |
| MethodHandles | |
| 
 | |
| StringConcatFactory | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.lang.module | |
| ModuleDescriptor.Exports | |
| ModuleDescriptor.Opens | |
| ModuleDescriptor.Requires | |
| ModuleDescriptor | |
| java.lang.ref | |
| ReferenceQueue | |
| 
 | |
| 
 | |
| 
 | |
| java.lang.reflect | |
| AccessibleObject | |
| 
 | |
| 
 | |
| 
 | |
| Field | |
| MalformedParameterizedTypeException | |
| Method | |
| 
 | |
| Modifier | |
| Modifier() | |
| Parameter | |
| UndeclaredThrowableException | |
| getCause() | |
| AnnotatedType | |
| InvocationHandler | |
| Member | |
| java.lang | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Character.UnicodeBlock | |
| 
 | |
| 
 | |
| ClassNotFoundException | |
| getCause() | |
| 
 | |
| Compiler | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ExceptionInInitializerError | |
| getCause() | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| IndexOutOfBoundsException | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Math | |
| ModuleLayer.Controller | |
| Module | |
| NullPointerException | |
| Object | |
| 
 | |
| Process | |
| Runtime.Version | |
| 
 | |
| 
 | |
| 
 | |
| Runtime | |
| 
 | |
| 
 | |
| 
 | |
| getLocalizedInputStream(InputStream) | |
| getLocalizedOutputStream(OutputStream) | |
| 
 | |
| runFinalizersOnExit(boolean) | |
| traceInstructions(boolean) | |
| traceMethodCalls(boolean) | |
| 
 | |
| inCheck | |
| checkAwtEventQueueAccess() | |
| checkMemberAccess(Class, int) | |
| 
 | |
| checkSystemClipboardAccess() | |
| checkTopLevelWindow(Object) | |
| classDepth(String) | |
| classLoaderDepth() | |
| currentClassLoader() | |
| currentLoadedClass() | |
| getInCheck() | |
| inClass(String) | |
| inClassLoader() | |
| 
 | |
| 
 | |
| 
 | |
| StrictMath | |
| 
 | |
| 
 | |
| 
 | |
| System | |
| 
 | |
| 
 | |
| runFinalizersOnExit(boolean) | |
| 
 | |
| 
 | |
| ThreadGroup | |
| allowThreadSuspension(boolean) | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Thread | |
| 
 | |
| countStackFrames() | |
| destroy() | |
| 
 | |
| 
 | |
| 
 | |
| stop(Throwable) | |
| 
 | |
| Character.UnicodeScript | |
| StackWalker.Option | |
| CharSequence | |
| StackWalker.StackFrame | |
| java.math | |
| BigDecimal | |
| BigInteger | |
| java.net.spi | |
| java.net | |
| DatagramSocket | |
| 
 | |
| Inet4Address | |
| Inet6Address | |
| 
 | |
| MulticastSocket | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| supportedOptions() | |
| SecureCacheResponse | |
| ServerSocket | |
| 
 | |
| SocketException | |
| Socket | |
| 
 | |
| URLDecoder | |
| URLDecoder() | |
| URLEncoder | |
| URL | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| StandardProtocolFamily | |
| java.nio.channels.spi | |
| SelectorProvider | |
| java.nio.channels | |
| Channels | |
| FileChannel | |
| SelectionKey | |
| Selector | |
| ServerSocketChannel | |
| SocketChannel | |
| java.nio.charset | |
| Charset | |
| StandardCharsets | |
| java.nio.file.spi | |
| FileSystemProvider | |
| java.nio.file | |
| FileStore | |
| FileSystems | |
| Files | |
| Path | |
| java.nio | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.security.acl | |
| java.security.cert | |
| X509CRLSelector | |
| 
 | |
| X509CRL | |
| 
 | |
| X509CertSelector | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| X509Certificate | |
| 
 | |
| 
 | |
| java.security.interfaces | |
| DSAKeyPairGenerator | |
| 
 | |
| 
 | |
| 
 | |
| DSAPrivateKey | |
| 
 | |
| DSAPublicKey | |
| 
 | |
| ECPrivateKey | |
| 
 | |
| ECPublicKey | |
| 
 | |
| RSAKey | |
| RSAMultiPrimePrivateCrtKey | |
| 
 | |
| RSAPrivateCrtKey | |
| 
 | |
| RSAPrivateKey | |
| 
 | |
| RSAPublicKey | |
| 
 | |
| java.security.spec | |
| 
 | |
| getName() | |
| MGF1ParameterSpec | |
| PSSParameterSpec | |
| 
 | |
| 
 | |
| RSAKeyGenParameterSpec | |
| RSAMultiPrimePrivateCrtKeySpec | |
| RSAPrivateCrtKeySpec | |
| RSAPrivateKeySpec | |
| RSAPublicKeySpec | |
| java.security | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| InvalidParameterException | |
| KeyStoreSpi | |
| KeyStore | |
| 
 | |
| 
 | |
| PrivilegedActionException | |
| getCause() | |
| 
 | |
| 
 | |
| 
 | |
| Key | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.text.spi | |
| NumberFormatProvider | |
| java.text | |
| DecimalFormatSymbols | |
| NumberFormat.Field | |
| NumberFormat | |
| java.time.chrono | |
| IsoChronology | |
| JapaneseChronology | |
| JapaneseEra | |
| MinguoChronology | |
| ThaiBuddhistChronology | |
| HijrahEra | |
| MinguoEra | |
| ThaiBuddhistEra | |
| Chronology | |
| java.time.format | |
| DateTimeFormatterBuilder | |
| DateTimeFormatter | |
| java.time | |
| 
 | |
| Duration | |
| 
 | |
| ZoneOffset | |
| java.util.concurrent.locks | |
| AbstractQueuedLongSynchronizer | |
| 
 | |
| LockSupport | |
| StampedLock | |
| java.util.concurrent | |
| CompletableFuture | |
| 
 | |
| ConcurrentSkipListMap | |
| ConcurrentSkipListSet | |
| CopyOnWriteArrayList | |
| DelayQueue | |
| Executors | |
| 
 | |
| 
 | |
| 
 | |
| ForkJoinPool | |
| 
 | |
| ForkJoinTask | |
| ForkJoinWorkerThread | |
| FutureTask | |
| PriorityBlockingQueue | |
| 
 | |
| nextGaussian() | |
| ThreadPoolExecutor | |
| 
 | |
| TimeUnit | |
| CompletionStage | |
| 
 | |
| Future | |
| java.util.function | |
| Predicate | |
| java.util.jar | |
| JarEntry | |
| JarFile | |
| Pack200 | |
| Pack200.Packer | |
| Pack200.Unpacker | |
| java.util.regex | |
| Matcher | |
| Pattern | |
| MatchResult | |
| java.util.spi | |
| LocaleNameProvider | |
| ToolProvider | |
| java.util.stream | |
| Collectors | |
| DoubleStream | |
| IntStream | |
| LongStream | |
| Stream | |
| java.util.zip | |
| Deflater | |
| finalize() | |
| Inflater | |
| finalize() | |
| ZipFile | |
| finalize() | |
| ZipInputStream | |
| java.util | |
| ArrayList | |
| 
 | |
| Collections | |
| DoubleSummaryStatistics | |
| 
 | |
| Formatter | |
| HashMap | |
| HashSet | |
| IdentityHashMap | |
| 
 | |
| IntSummaryStatistics | |
| 
 | |
| 
 | |
| LinkedList | |
| Locale | |
| 
 | |
| 
 | |
| 
 | |
| LongSummaryStatistics | |
| NoSuchElementException | |
| Objects | |
| OptionalDouble | |
| OptionalInt | |
| OptionalLong | |
| Optional | |
| PriorityQueue | |
| Properties | |
| 
 | |
| Scanner | |
| 
 | |
| nextBoolean() | |
| nextDouble() | |
| nextDouble(double) | |
| nextDouble(double, double) | |
| nextInt(int) | |
| nextInt(int, int) | |
| nextLong(long) | |
| nextLong(long, long) | |
| TreeMap | |
| TreeSet | |
| WeakHashMap | |
| Collection | |
| 
 | |
| 
 | |
| Map.Entry | |
| Map | |
| NavigableMap | |
| NavigableSet | |
| Set | |
| 
 | |
| 
 | |
| javax.crypto.interfaces | |
| DHPrivateKey | |
| 
 | |
| DHPublicKey | |
| 
 | |
| PBEKey | |
| 
 | |
| javax.crypto.spec | |
| OAEPParameterSpec | |
| 
 | |
| javax.crypto | |
| Cipher | |
| SecretKey | |
| 
 | |
| javax.net.ssl | |
| HandshakeCompletedEvent | |
| 
 | |
| HttpsURLConnection | |
| SSLHandshakeException | |
| SSLKeyException | |
| SSLParameters | |
| SSLPeerUnverifiedException | |
| SSLProtocolException | |
| SSLSessionContext | |
| 
 | |
| 
 | |
| SSLSession | |
| 
 | |
| javax.security.auth | |
| Policy | |
| 
 | |
| Subject | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| javax.security.cert | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.compiler | |
| javax.annotation.processing | |
| Messager | |
| ProcessingEnvironment | |
| javax.lang.model.element | |
| ElementKind | |
| 
 | |
| ElementVisitor | |
| Element | |
| ExecutableElement | |
| ModuleElement | |
| PackageElement | |
| TypeElement | |
| TypeParameterElement | |
| VariableElement | |
| javax.lang.model.type | |
| TypeMirror | |
| javax.lang.model.util | |
| AbstractAnnotationValueVisitor7 | |
| 
 | |
| AbstractElementVisitor6 | |
| AbstractElementVisitor7 | |
| 
 | |
| AbstractTypeVisitor7 | |
| 
 | |
| ElementFilter | |
| ElementKindVisitor6 | |
| ElementKindVisitor7 | |
| 
 | |
| 
 | |
| ElementScanner6 | |
| ElementScanner7 | |
| 
 | |
| 
 | |
| SimpleAnnotationValueVisitor7 | |
| 
 | |
| 
 | |
| SimpleElementVisitor7 | |
| 
 | |
| 
 | |
| SimpleTypeVisitor7 | |
| 
 | |
| 
 | |
| TypeKindVisitor6 | |
| TypeKindVisitor7 | |
| 
 | |
| 
 | |
| TypeKindVisitor9 | |
| Elements | |
| javax.lang.model | |
| SourceVersion | |
| javax.tools | |
| ForwardingJavaFileManager | |
| ToolProvider | |
| ToolProvider() | |
| DocumentationTool.Location | |
| JavaFileManager | |
| StandardJavaFileManager | |
| 
 | |
| java.corba | |
| java.datatransfer | |
| java.awt.datatransfer | |
| DataFlavor | |
| 
 | |
| 
 | |
| 
 | |
| java.desktop | |
| java.applet | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.awt.color | |
| 
 | |
| 
 | |
| 
 | |
| finalize() | |
| java.awt.desktop | |
| 
 | |
| 
 | |
| java.awt.dnd | |
| DragSourceAdapter | |
| 
 | |
| DropTargetAdapter | |
| 
 | |
| 
 | |
| java.awt.event | |
| ComponentAdapter | |
| 
 | |
| ContainerAdapter | |
| 
 | |
| FocusAdapter | |
| 
 | |
| HierarchyBoundsAdapter | |
| 
 | |
| 
 | |
| KeyAdapter | |
| 
 | |
| MouseAdapter | |
| 
 | |
| MouseMotionAdapter | |
| 
 | |
| WindowAdapter | |
| 
 | |
| java.awt.font | |
| GlyphVector | |
| 
 | |
| LayoutPath | |
| 
 | |
| LineMetrics | |
| 
 | |
| java.awt.geom | |
| CubicCurve2D.Double | |
| getBounds2D() | |
| CubicCurve2D.Float | |
| getBounds2D() | |
| CubicCurve2D | |
| Path2D.Double | |
| Path2D.Float | |
| 
 | |
| QuadCurve2D.Double | |
| getBounds2D() | |
| QuadCurve2D.Float | |
| getBounds2D() | |
| QuadCurve2D | |
| java.awt.image | |
| AbstractMultiResolutionImage | |
| 
 | |
| BufferStrategy | |
| 
 | |
| ColorModel | |
| finalize() | |
| IndexColorModel | |
| finalize() | |
| RGBImageFilter | |
| 
 | |
| VolatileImage | |
| 
 | |
| java.awt | |
| 
 | |
| 
 | |
| 
 | |
| FocusTraversalPolicy | |
| 
 | |
| Graphics | |
| 
 | |
| 
 | |
| Image | |
| 
 | |
| 
 | |
| 
 | |
| PrintJob | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Toolkit | |
| 
 | |
| 
 | |
| java.beans | |
| Beans | |
| 
 | |
| PersistenceDelegate | |
| 
 | |
| 
 | |
| javax.accessibility | |
| AccessibleContext | |
| 
 | |
| AccessibleHyperlink | |
| 
 | |
| javax.imageio.spi | |
| ServiceRegistry | |
| 
 | |
| javax.imageio.stream | |
| FileCacheImageInputStream | |
| 
 | |
| FileImageInputStream | |
| 
 | |
| FileImageOutputStream | |
| 
 | |
| ImageInputStreamImpl | |
| 
 | |
| MemoryCacheImageInputStream | |
| 
 | |
| javax.print.attribute.standard | |
| javax.print.event | |
| PrintJobAdapter | |
| 
 | |
| javax.print | |
| PrintServiceLookup | |
| 
 | |
| ServiceUIFactory | |
| 
 | |
| StreamPrintServiceFactory | |
| 
 | |
| javax.sound.midi.spi | |
| MidiDeviceProvider | |
| 
 | |
| MidiFileReader | |
| 
 | |
| MidiFileWriter | |
| 
 | |
| SoundbankReader | |
| 
 | |
| javax.sound.midi | |
| 
 | |
| javax.sound.sampled.spi | |
| AudioFileReader | |
| 
 | |
| AudioFileWriter | |
| 
 | |
| FormatConversionProvider | |
| 
 | |
| MixerProvider | |
| 
 | |
| javax.swing.border | |
| AbstractBorder | |
| 
 | |
| javax.swing.colorchooser | |
| AbstractColorChooserPanel | |
| 
 | |
| javax.swing.event | |
| InternalFrameAdapter | |
| 
 | |
| MouseInputAdapter | |
| 
 | |
| javax.swing.filechooser | |
| FileFilter | |
| 
 | |
| FileSystemView | |
| FileView | |
| 
 | |
| javax.swing.plaf.basic | |
| BasicDirectoryModel | |
| 
 | |
| 
 | |
| 
 | |
| BasicLookAndFeel | |
| 
 | |
| 
 | |
| BasicMenuUI | |
| BasicRadioButtonUI | |
| installListeners(AbstractButton) | |
| uninstallListeners(AbstractButton) | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| BasicSliderUI | |
| 
 | |
| BasicToolBarUI | |
| 
 | |
| javax.swing.plaf.metal | |
| MetalTheme | |
| 
 | |
| javax.swing.plaf.synth | |
| SynthComboBoxUI | |
| SynthDesktopIconUI | |
| SynthLookAndFeel | |
| 
 | |
| SynthPainter | |
| 
 | |
| SynthPasswordFieldUI | |
| javax.swing.plaf | |
| ButtonUI | |
| 
 | |
| ColorChooserUI | |
| 
 | |
| ComboBoxUI | |
| 
 | |
| DesktopIconUI | |
| 
 | |
| DesktopPaneUI | |
| 
 | |
| FileChooserUI | |
| 
 | |
| InternalFrameUI | |
| 
 | |
| LabelUI | |
| 
 | |
| ListUI | |
| 
 | |
| MenuBarUI | |
| 
 | |
| MenuItemUI | |
| 
 | |
| OptionPaneUI | |
| 
 | |
| PanelUI | |
| 
 | |
| PopupMenuUI | |
| 
 | |
| ProgressBarUI | |
| 
 | |
| RootPaneUI | |
| 
 | |
| ScrollBarUI | |
| 
 | |
| ScrollPaneUI | |
| 
 | |
| SeparatorUI | |
| 
 | |
| SliderUI | |
| 
 | |
| SpinnerUI | |
| 
 | |
| SplitPaneUI | |
| 
 | |
| TabbedPaneUI | |
| 
 | |
| TableHeaderUI | |
| 
 | |
| TableUI | |
| 
 | |
| TextUI | |
| 
 | |
| ToolBarUI | |
| 
 | |
| ToolTipUI | |
| 
 | |
| TreeUI | |
| 
 | |
| ViewportUI | |
| 
 | |
| javax.swing.table | |
| AbstractTableModel | |
| 
 | |
| TableStringConverter | |
| 
 | |
| javax.swing.text.html | |
| 
 | |
| HTMLDocument.Iterator | |
| 
 | |
| HTMLEditorKit.Parser | |
| 
 | |
| 
 | |
| 
 | |
| javax.swing.text | |
| DefaultEditorKit | |
| DefaultTextUI | |
| 
 | |
| DocumentFilter.FilterBypass | |
| 
 | |
| GlyphView.GlyphPainter | |
| 
 | |
| LayeredHighlighter.LayerPainter | |
| 
 | |
| LayeredHighlighter | |
| 
 | |
| NavigationFilter.FilterBypass | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| javax.swing.tree | |
| AbstractLayoutCache.NodeDimensions | |
| 
 | |
| AbstractLayoutCache | |
| 
 | |
| javax.swing | |
| AbstractButton | |
| 
 | |
| AbstractCellEditor | |
| 
 | |
| AbstractListModel | |
| 
 | |
| AbstractSpinnerModel | |
| 
 | |
| DefaultComboBoxModel | |
| DefaultListModel | |
| FocusManager | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| InputVerifier | |
| 
 | |
| InternalFrameFocusTraversalPolicy | |
| 
 | |
| 
 | |
| JFileChooser | |
| JFormattedTextField.AbstractFormatterFactory | |
| 
 | |
| JFormattedTextField.AbstractFormatter | |
| 
 | |
| JPasswordField | |
| 
 | |
| LookAndFeel | |
| 
 | |
| RepaintManager | |
| 
 | |
| RowFilter | |
| 
 | |
| 
 | |
| ButtonModel | |
| ListSelectionModel | |
| java.logging | |
| java.util.logging | |
| LogManager | |
| 
 | |
| LogRecord | |
| 
 | |
| 
 | |
| java.management.rmi | |
| javax.management.remote.rmi | |
| RMIConnectorServer | |
| CREDENTIAL_TYPES | |
| RMIIIOPServerImpl | |
| java.management | |
| java.lang.management | |
| MemoryMXBean | |
| 
 | |
| RuntimeMXBean | |
| ThreadMXBean | |
| javax.management.loading | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| javax.management.relation | |
| RoleStatus | |
| 
 | |
| javax.management.remote | |
| JMXConnector | |
| 
 | |
| java.naming | |
| javax.naming.directory | |
| Attribute | |
| 
 | |
| javax.naming | |
| Context | |
| 
 | |
| Name | |
| 
 | |
| java.rmi | |
| java.rmi.activation | |
| java.rmi.server | |
| RemoteRef | |
| 
 | |
| ServerRef | |
| 
 | |
| java.rmi | |
| 
 | |
| java.se.ee | |
| java.security.jgss | |
| javax.security.auth.kerberos | |
| KerberosPrincipal | |
| org.ietf.jgss | |
| GSSContext | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| java.sql | |
| javax.transaction.xa | |
| java.transaction | |
| java.xml.bind | |
| java.xml.crypto | |
| javax.xml.crypto.dsig.keyinfo | |
| KeyValue | |
| javax.xml.crypto.dsig.spec | |
| javax.xml.crypto.dsig | |
| CanonicalizationMethod | |
| DigestMethod | |
| SignatureMethod | |
| java.xml.ws.annotation | |
| java.xml.ws | |
| java.xml | |
| javax.xml.catalog | |
| CatalogManager | |
| javax.xml.parsers | |
| DocumentBuilderFactory | |
| SAXParserFactory | |
| javax.xml.stream | |
| XMLInputFactory | |
| 
 | |
| javax.xml.xpath | |
| XPathFactory | |
| org.xml.sax.helpers | |
| 
 | |
| org.xml.sax | |
| 
 | |
| ContentHandler | |
  This report is based on simple comparison of all public and
  protected APIs of the Java SE packages of JDK builds
  22.0.2+9-tem and 9.0.4-open.
  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.