| Interface | Description | 
|---|---|
| org.xml.sax.AttributeList | This interface has been replaced by the SAX2
              Attributesinterface, which includes Namespace support. | 
| java.security.Certificate | A new certificate handling package is created in the Java platform.
             This Certificate interface is entirely deprecated and
             is here to allow for a smooth transition to the new
             package. | 
| org.xml.sax.DocumentHandler | This interface has been replaced by the SAX2
              ContentHandlerinterface, which includes Namespace support. | 
| org.omg.CORBA.DynAny | Use the new DynAny instead | 
| org.omg.CORBA.DynArray | Use the new DynArray instead | 
| org.omg.CORBA.DynEnum | Use the new DynEnum instead | 
| org.omg.CORBA.DynFixed | Use the new DynFixed instead | 
| org.omg.CORBA.DynSequence | Use the new DynSequence instead | 
| org.omg.CORBA.DynStruct | Use the new DynStruct instead | 
| org.omg.CORBA.DynUnion | Use the new DynUnion instead | 
| org.omg.CORBA.DynValue | Use the new DynValue instead | 
| java.rmi.server.LoaderHandler | no replacement | 
| org.xml.sax.Parser | This interface has been replaced by the SAX2
              XMLReaderinterface, which includes Namespace support. | 
| java.rmi.registry.RegistryHandler | no replacement | 
| java.rmi.server.RemoteCall | no replacement. | 
| java.rmi.server.ServerRef | No replacement. This interface is unused and is obsolete. | 
| java.rmi.server.Skeleton | no replacement.  Skeletons are no longer required for remote
 method calls in the Java 2 platform v1.2 and greater. | 
| javax.xml.bind.Validator | since JAXB 2.0 | 
| Class | Description | 
|---|---|
| javax.accessibility.AccessibleResourceBundle | This class is deprecated as of version 1.3 of the
             Java Platform. | 
| org.xml.sax.helpers.AttributeListImpl | This class implements a deprecated interface,
              AttributeList;
             that interface has been replaced byAttributes,
             which is implemented in theAttributesImplhelper class. | 
| javax.management.DefaultLoaderRepository | Use
  MBeanServer.getClassLoaderRepository()instead. | 
| javax.management.loading.DefaultLoaderRepository | Use
  MBeanServer.getClassLoaderRepository()}
 instead. | 
| javax.swing.text.DefaultTextUI | |
| org.omg.CORBA.DynamicImplementation | org.omg.CORBA.DynamicImplementation | 
| org.xml.sax.HandlerBase | This class works with the deprecated
              DocumentHandlerinterface.  It has been replaced by the SAX2DefaultHandlerclass. | 
| java.security.Identity | This class is no longer used. Its functionality has been
 replaced by  java.security.KeyStore, thejava.security.certpackage, andjava.security.Principal. | 
| java.security.IdentityScope | This class is no longer used. Its functionality has been
 replaced by  java.security.KeyStore, thejava.security.certpackage, andjava.security.Principal. | 
| java.io.LineNumberInputStream | This class incorrectly assumes that bytes adequately represent
             characters.  As of JDK 1.1, the preferred way to operate on
             character streams is via the new character-stream classes, which
             include a class for counting line numbers. | 
| java.rmi.server.LogStream | no replacement | 
| javax.swing.plaf.metal.MetalComboBoxUI.MetalComboPopup | As of Java 2 platform v1.4. | 
| java.rmi.server.Operation | no replacement | 
| org.xml.sax.helpers.ParserFactory | This class works with the deprecated
              Parserinterface. | 
| javax.security.auth.Policy | as of JDK version 1.4 -- Replaced by java.security.Policy.
              java.security.Policy has a method:
  
      public PermissionCollection getPermissions
          (java.security.ProtectionDomain pd)
 and ProtectionDomain has a constructor:
      public ProtectionDomain
          (CodeSource cs,
           PermissionCollection permissions,
           ClassLoader loader,
           Principal[] principals)
 These two APIs provide callers the means to query the
 Policy for Principal-based Permission entries. | 
| org.omg.CORBA.Principal | Deprecated by CORBA 2.2. | 
| org.omg.CORBA.PrincipalHolder | Deprecated by CORBA 2.2. | 
| java.rmi.server.RemoteStub | Statically generated stubs are deprecated, since
 stubs are generated dynamically. See  UnicastRemoteObjectfor information about dynamic stub generation. | 
| java.rmi.RMISecurityManager | Use  SecurityManagerinstead. | 
| java.security.Signer | This class is no longer used. Its functionality has been
 replaced by  java.security.KeyStore, thejava.security.certpackage, andjava.security.Principal. | 
| javax.xml.soap.SOAPElementFactory | - Use  javax.xml.soap.SOAPFactoryfor creating SOAPElements. | 
| java.io.StringBufferInputStream | This class does not properly convert characters into bytes.  As
             of JDK 1.1, the preferred way to create a stream from a
             string is via the  StringReaderclass. | 
| javax.swing.text.TableView.TableCell | A table cell can now be any View implementation. | 
| Exceptions | Description | 
|---|---|
| java.rmi.RMISecurityException | Use  SecurityExceptioninstead.
 Application code should never directly reference this class, andRMISecurityManagerno longer throws this subclass ofjava.lang.SecurityException. | 
| java.rmi.ServerRuntimeException | no replacement | 
| java.rmi.server.SkeletonMismatchException | no replacement.  Skeletons are no longer required for remote
 method calls in the Java 2 platform v1.2 and greater. | 
| java.rmi.server.SkeletonNotFoundException | no replacement.  Skeletons are no longer required for remote
 method calls in the Java 2 platform v1.2 and greater. | 
| java.rmi.server.SocketSecurityException | This class is obsolete. Use  ExportExceptioninstead. | 
| Annotation Type | Description | 
|---|---|
| javax.jws.soap.InitParam | |
| javax.jws.soap.SOAPMessageHandler | |
| javax.jws.soap.SOAPMessageHandlers | 
| Field | Description | 
|---|---|
| javax.swing.JComponent.AccessibleJComponent.accessibleFocusHandler | |
| javax.management.openmbean.OpenType.ALLOWED_CLASSNAMES | Use  ALLOWED_CLASSNAMES_LISTinstead. | 
| javax.management.monitor.Monitor.alreadyNotified | equivalent to  Monitor.alreadyNotifieds[0]. | 
| javax.swing.JViewport.backingStore | As of Java 2 platform v1.3 | 
| javax.swing.plaf.basic.BasicDesktopPaneUI.closeKey | As of 1.3. | 
| javax.sql.rowset.CachedRowSet.COMMIT_ON_ACCEPT_CHANGES | Because this field is final (it is part of an interface),
  its value cannot be changed. | 
| javax.swing.ImageIcon.component | since 1.8 | 
| java.awt.Frame.CROSSHAIR_CURSOR | replaced by  Cursor.CROSSHAIR_CURSOR. | 
| javax.management.monitor.Monitor.dbgTag | No replacement. | 
| java.awt.Frame.DEFAULT_CURSOR | replaced by  Cursor.DEFAULT_CURSOR. | 
| javax.swing.JRootPane.defaultPressAction | As of Java 2 platform v1.3. | 
| javax.swing.JRootPane.defaultReleaseAction | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.dividerResizeToggleKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicToolBarUI.downKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicTabbedPaneUI.downKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.downKey | As of Java 2 platform v1.3. | 
| java.awt.Frame.E_RESIZE_CURSOR | replaced by  Cursor.E_RESIZE_CURSOR. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.endKey | As of Java 2 platform v1.3. | 
| java.util.jar.Attributes.Name.EXTENSION_INSTALLATION | Extension mechanism will be removed in a future release.
             Use class path instead. | 
| java.util.logging.Logger.global | Initialization of this field is prone to deadlocks.
 The field must be initialized by the Logger class initialization
 which may cause deadlocks with the LogManager class initialization.
 In such cases two class initialization wait for each other to complete.
 The preferred way to get the global logger object is via the call
  Logger.getGlobal().
 For compatibility with old JDK versions where theLogger.getGlobal()is not available use the callLogger.getLogger(Logger.GLOBAL_LOGGER_NAME)orLogger.getLogger("global"). | 
| java.awt.Frame.HAND_CURSOR | replaced by  Cursor.HAND_CURSOR. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.homeKey | As of Java 2 platform v1.3. | 
| java.net.HttpURLConnection.HTTP_SERVER_ERROR | it is misplaced and shouldn't have existed. | 
| java.util.jar.Attributes.Name.IMPLEMENTATION_URL | Extension mechanism will be removed in a future release.
             Use class path instead. | 
| java.util.jar.Attributes.Name.IMPLEMENTATION_VENDOR_ID | Extension mechanism will be removed in a future release.
             Use class path instead. | 
| java.lang.SecurityManager.inCheck | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.keyboardDownRightListener | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.keyboardEndListener | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.keyboardHomeListener | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.keyboardResizeToggleListener | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.keyboardUpLeftListener | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicToolBarUI.leftKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicTabbedPaneUI.leftKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.leftKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicDesktopPaneUI.maximizeKey | As of 1.3. | 
| javax.swing.plaf.basic.BasicDesktopPaneUI.minimizeKey | As of 1.3. | 
| java.awt.Frame.MOVE_CURSOR | replaced by  Cursor.MOVE_CURSOR. | 
| java.awt.Frame.N_RESIZE_CURSOR | replaced by  Cursor.N_RESIZE_CURSOR. | 
| javax.swing.plaf.basic.BasicDesktopPaneUI.navigateKey | As of 1.3. | 
| javax.swing.plaf.basic.BasicDesktopPaneUI.navigateKey2 | As of 1.3. | 
| java.awt.Frame.NE_RESIZE_CURSOR | replaced by  Cursor.NE_RESIZE_CURSOR. | 
| java.awt.Frame.NW_RESIZE_CURSOR | replaced by  Cursor.NW_RESIZE_CURSOR. | 
| javax.swing.plaf.basic.BasicInternalFrameUI.openMenuKey | As of Java 2 platform v1.3. | 
| java.awt.datatransfer.DataFlavor.plainTextFlavor | as of 1.3. Use  DataFlavor.getReaderForText(Transferable)instead ofTransferable.getTransferData(DataFlavor.plainTextFlavor). | 
| java.awt.Cursor.predefined | As of JDK version 1.7, the  Cursor.getPredefinedCursor(int)method should be used instead. | 
| javax.swing.text.html.FormView.RESET | As of 1.3, value comes from UIManager UIManager property
             FormView.resetButtonText | 
| javax.swing.table.TableColumn.resizedPostingDisableCount | as of Java 2 platform v1.3 | 
| javax.swing.plaf.basic.BasicToolBarUI.rightKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicTabbedPaneUI.rightKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.rightKey | As of Java 2 platform v1.3. | 
| java.awt.Frame.S_RESIZE_CURSOR | replaced by  Cursor.S_RESIZE_CURSOR. | 
| java.awt.Frame.SE_RESIZE_CURSOR | replaced by  Cursor.SE_RESIZE_CURSOR. | 
| javax.imageio.spi.ImageReaderSpi.STANDARD_INPUT_TYPE | Instead of using this field, directly create
 the equivalent array  { ImageInputStream.class }. | 
| javax.imageio.spi.ImageWriterSpi.STANDARD_OUTPUT_TYPE | Instead of using this field, directly create
 the equivalent array  { ImageOutputStream.class }. | 
| javax.swing.text.html.FormView.SUBMIT | As of 1.3, value now comes from UIManager property
             FormView.submitButtonText | 
| java.lang.Character.UnicodeBlock.SURROGATES_AREA | As of J2SE 5, use  Character.UnicodeBlock.HIGH_SURROGATES,Character.UnicodeBlock.HIGH_PRIVATE_USE_SURROGATES, andCharacter.UnicodeBlock.LOW_SURROGATES. These new constants match
             the block definitions of the Unicode Standard.
             TheCharacter.UnicodeBlock.of(char)andCharacter.UnicodeBlock.of(int)methods
             return the new constants, not SURROGATES_AREA. | 
| java.awt.Frame.SW_RESIZE_CURSOR | replaced by  Cursor.SW_RESIZE_CURSOR. | 
| java.awt.Frame.TEXT_CURSOR | replaced by  Cursor.TEXT_CURSOR. | 
| javax.swing.ImageIcon.tracker | since 1.8 | 
| javax.swing.plaf.basic.BasicToolBarUI.upKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicTabbedPaneUI.upKey | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.upKey | As of Java 2 platform v1.3. | 
| java.awt.Frame.W_RESIZE_CURSOR | replaced by  Cursor.W_RESIZE_CURSOR. | 
| java.awt.Frame.WAIT_CURSOR | replaced by  Cursor.WAIT_CURSOR. | 
| Method | Description | 
|---|---|
| java.awt.Component.action(Event, Object) | As of JDK version 1.1,
 should register this component as ActionListener on component
 which fires action events. | 
| java.awt.List.addItem(String) | replaced by  add(String). | 
| java.awt.List.addItem(String, int) | replaced by  add(String, int). | 
| java.awt.CardLayout.addLayoutComponent(String, Component) | replaced by
       addLayoutComponent(Component, Object). | 
| java.awt.BorderLayout.addLayoutComponent(String, Component) | replaced by  addLayoutComponent(Component, Object). | 
| java.util.jar.Pack200.Packer.addPropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates
             a significant impediment to future modularization of the
             Java platform. This method will be removed in a future
             release.
             Applications that need to monitor progress of the packer
             can poll the value of thePROGRESSproperty instead. | 
| java.util.jar.Pack200.Unpacker.addPropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates
             a significant impediment to future modularization of the
             Java platform. This method will be removed in a future
             release.
             Applications that need to monitor progress of the
             unpacker can poll the value of thePROGRESSproperty instead. | 
| java.util.logging.LogManager.addPropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates a
             significant impediment to future modularization of the Java
             platform. This method will be removed in a future release.
             The globalLogManagercan detect changes to the
             logging configuration by overridding thereadConfigurationmethod. | 
| java.awt.List.allowsMultipleSelections() | As of JDK version 1.1,
 replaced by  isMultipleMode(). | 
| java.lang.ThreadGroup.allowThreadSuspension(boolean) | The definition of this call depends on  ThreadGroup.suspend(),
             which is deprecated.  Further, the behavior of this call
             was never specified. | 
| java.awt.TextArea.appendText(String) | As of JDK version 1.1,
 replaced by  append(String). | 
| java.awt.Window.applyResourceBundle(ResourceBundle) | As of J2SE 1.4, replaced by
  Component.applyComponentOrientation. | 
| java.awt.Window.applyResourceBundle(String) | As of J2SE 1.4, replaced by
  Component.applyComponentOrientation. | 
| java.awt.Component.bounds() | As of JDK version 1.1,
 replaced by  getBounds(). | 
| java.lang.SecurityManager.checkAwtEventQueueAccess() | The dependency on  AWTPermissioncreates an
             impediment to future modularization of the Java platform.
             Users of this method should instead invokeSecurityManager.checkPermission(java.security.Permission)directly.
             This method will be changed in a future release to check
             the permissionjava.security.AllPermission. | 
| java.lang.SecurityManager.checkMemberAccess(Class<?>, int) | This method relies on the caller being at a stack depth
             of 4 which is error-prone and cannot be enforced by the runtime.
             Users of this method should instead invoke  SecurityManager.checkPermission(java.security.Permission)directly.  This method will be changed in a future release
             to check the permissionjava.security.AllPermission. | 
| java.lang.SecurityManager.checkMulticast(InetAddress, byte) | Use #checkPermission(java.security.Permission) instead | 
| java.lang.SecurityManager.checkSystemClipboardAccess() | The dependency on  AWTPermissioncreates an
             impediment to future modularization of the Java platform.
             Users of this method should instead invokeSecurityManager.checkPermission(java.security.Permission)directly.
             This method will be changed in a future release to check
             the permissionjava.security.AllPermission. | 
| java.lang.SecurityManager.checkTopLevelWindow(Object) | The dependency on  AWTPermissioncreates an
             impediment to future modularization of the Java platform.
             Users of this method should instead invokeSecurityManager.checkPermission(java.security.Permission)directly.
             This method will be changed in a future release to check
             the permissionjava.security.AllPermission. | 
| java.lang.SecurityManager.classDepth(String) | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.lang.SecurityManager.classLoaderDepth() | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.awt.List.clear() | As of JDK version 1.1,
 replaced by  removeAll(). | 
| java.awt.image.renderable.RenderContext.concetenateTransform(AffineTransform) | replaced by
                  concatenateTransform(AffineTransform). | 
| java.awt.Container.countComponents() | As of JDK version 1.1,
 replaced by getComponentCount(). | 
| java.awt.Choice.countItems() | As of JDK version 1.1,
 replaced by  getItemCount(). | 
| java.awt.List.countItems() | As of JDK version 1.1,
 replaced by  getItemCount(). | 
| java.awt.Menu.countItems() | As of JDK version 1.1,
 replaced by  getItemCount(). | 
| java.awt.MenuBar.countMenus() | As of JDK version 1.1,
 replaced by  getMenuCount(). | 
| java.lang.Thread.countStackFrames() | The definition of this call depends on  Thread.suspend(),
             which is deprecated.  Further, the results of this call
             were never well-defined. | 
| org.omg.CORBA.ORB.create_basic_dyn_any(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_any(Any) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_array(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_enum(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_sequence(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_struct(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_dyn_union(TypeCode) | Use the new DynAnyFactory API instead | 
| org.omg.CORBA.ORB.create_recursive_sequence_tc(int, int) | Use a combination of create_recursive_tc and create_sequence_tc instead | 
| javax.xml.soap.SOAPElementFactory.create(Name) | Use
 javax.xml.soap.SOAPFactory.createElement(javax.xml.soap.Name)
 instead | 
| javax.xml.soap.SOAPElementFactory.create(String) | Use
 javax.xml.soap.SOAPFactory.createElement(String localName) instead | 
| javax.xml.soap.SOAPElementFactory.create(String, String, String) | Use
 javax.xml.soap.SOAPFactory.createElement(String localName,
                      String prefix,
                      String uri)
 instead | 
| javax.swing.plaf.basic.BasicSplitPaneUI.createKeyboardDownRightListener() | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.createKeyboardEndListener() | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.createKeyboardHomeListener() | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.createKeyboardResizeToggleListener() | As of Java 2 platform v1.3. | 
| javax.swing.plaf.basic.BasicSplitPaneUI.createKeyboardUpLeftListener() | As of Java 2 platform v1.3. | 
| javax.swing.JTable.createScrollPaneForTable(JTable) | As of Swing version 1.0.2,
 replaced by  new JScrollPane(aTable). | 
| javax.swing.text.TableView.createTableCell(Element) | Table cells can now be any arbitrary
 View implementation and should be produced by the
 ViewFactory rather than the table. | 
| javax.xml.bind.JAXBContext.createValidator() | since JAXB2.0 | 
| java.lang.SecurityManager.currentClassLoader() | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.lang.SecurityManager.currentLoadedClass() | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.net.URLDecoder.decode(String) | The resulting string may vary depending on the platform's
          default encoding. Instead, use the decode(String,String) method
          to specify the encoding. | 
| java.lang.ClassLoader.defineClass(byte[], int, int) | Replaced by  defineClass(String, byte[], int, int) | 
| java.awt.List.delItem(int) | replaced by  remove(String)andremove(int). | 
| java.awt.List.delItems(int, int) | As of JDK version 1.1,
 Not for public use in the future.
 This method is expected to be retained only as a package
 private method. | 
| java.awt.Component.deliverEvent(Event) | As of JDK version 1.1,
 replaced by  dispatchEvent(AWTEvent e). | 
| java.awt.Container.deliverEvent(Event) | As of JDK version 1.1,
 replaced by  dispatchEvent(AWTEvent e) | 
| javax.management.MBeanServer.deserialize(ObjectName, byte[]) | Use  getClassLoaderForto
 obtain the appropriate class loader for deserialization. | 
| javax.management.MBeanServer.deserialize(String, byte[]) | Use  MBeanServer.getClassLoaderRepository()to obtain the
 class loader repository and use it to deserialize. | 
| javax.management.MBeanServer.deserialize(String, ObjectName, byte[]) | Use  getClassLoaderto obtain
 the class loader for deserialization. | 
| java.lang.Thread.destroy() | This method was originally designed to destroy this
     thread without any cleanup. Any monitors it held would have
     remained locked. However, the method was never implemented.
     If if were to be implemented, it would be deadlock-prone in
     much the manner of  Thread.suspend(). If the target thread held
     a lock protecting a critical system resource when it was
     destroyed, no thread could ever access this resource again.
     If another thread ever attempted to lock this resource, deadlock
     would result. Such deadlocks typically manifest themselves as
     "frozen" processes. For more information, see
     
     Why are Thread.stop, Thread.suspend and Thread.resume Deprecated?. | 
| java.awt.MenuItem.disable() | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| java.awt.Component.disable() | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| javax.swing.JComponent.disable() | As of JDK version 1.1,
 replaced by  java.awt.Component.setEnabled(boolean). | 
| javax.swing.table.TableColumn.disableResizedPosting() | as of Java 2 platform v1.3 | 
| javax.swing.FocusManager.disableSwingFocusManager() | as of 1.4, replaced by
  KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy) | 
| java.rmi.server.Skeleton.dispatch(Remote, RemoteCall, int, long) | no replacement | 
| java.rmi.server.RemoteCall.done() | no replacement | 
| java.rmi.server.RemoteRef.done(RemoteCall) | 1.2 style stubs no longer use this method. Instead of
 using a sequence of method calls to the remote reference
 ( newCall,invoke, anddone), a
 stub uses a single method,invoke(Remote, Method, Object[],
 int), on the remote reference to carry out parameter
 marshalling, remote method executing and unmarshalling of the return
 value. | 
| javax.swing.plaf.metal.MetalComboBoxUI.editablePropertyChanged(PropertyChangeEvent) | As of Java 2 platform v1.4. | 
| java.awt.MenuItem.enable() | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| java.awt.Component.enable() | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| javax.swing.JComponent.enable() | As of JDK version 1.1,
 replaced by  java.awt.Component.setEnabled(boolean). | 
| java.awt.MenuItem.enable(boolean) | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| java.awt.Component.enable(boolean) | As of JDK version 1.1,
 replaced by  setEnabled(boolean). | 
| javax.swing.table.TableColumn.enableResizedPosting() | as of Java 2 platform v1.3 | 
| java.net.URLEncoder.encode(String) | The resulting string may vary depending on the platform's
             default encoding. Instead, use the encode(String,String)
             method to specify the encoding. | 
| java.security.SignatureSpi.engineGetParameter(String) | |
| java.security.SignatureSpi.engineSetParameter(String, Object) | Replaced by  engineSetParameter. | 
| java.awt.datatransfer.DataFlavor.equals(String) | As inconsistent with  hashCode()contract,
             useisMimeTypeEqual(String)instead. | 
| org.omg.CORBA.ServerRequest.except(Any) | use set_exception() | 
| java.rmi.server.RemoteCall.executeCall() | no replacement | 
| java.rmi.server.UnicastRemoteObject.exportObject(Remote) | This method is deprecated because it supports only static stubs.
 Use  exportObject(Remote, port)orexportObject(Remote, port, csf, ssf)instead. | 
| org.omg.CORBA.Any.extract_Principal() | Deprecated by CORBA 2.2. | 
| javax.swing.SwingUtilities.findFocusOwner(Component) | As of 1.4, replaced by
    KeyboardFocusManager.getFocusOwner(). | 
| org.omg.CORBA.ORB.get_current() | use  resolve_initial_references. | 
| java.security.Security.getAlgorithmProperty(String, String) | This method used to return the value of a proprietary
 property in the master file of the "SUN" Cryptographic Service
 Provider in order to determine how to parse algorithm-specific
 parameters. Use the new provider-based and algorithm-independent
  AlgorithmParametersandKeyFactoryengine
 classes (introduced in the J2SE version 1.2 platform) instead. | 
| java.sql.CallableStatement.getBigDecimal(int, int) | use  getBigDecimal(int parameterIndex)orgetBigDecimal(String parameterName) | 
| java.sql.ResultSet.getBigDecimal(int, int) | Use  getBigDecimal(int columnIndex)orgetBigDecimal(String columnLabel) | 
| java.sql.ResultSet.getBigDecimal(String, int) | Use  getBigDecimal(int columnIndex)orgetBigDecimal(String columnLabel) | 
| java.awt.Polygon.getBoundingBox() | As of JDK version 1.1,
 replaced by  getBounds(). | 
| java.lang.String.getBytes(int, int, byte[], int) | This method does not properly convert characters into
 bytes.  As of JDK 1.1, the preferred way to do this is via the
  String.getBytes()method, which uses the platform's default charset. | 
| java.awt.Graphics.getClipRect() | As of JDK version 1.1,
 replaced by  getClipBounds(). | 
| javax.swing.JPopupMenu.getComponentAtIndex(int) | replaced by  Container.getComponent(int) | 
| javax.swing.JMenuBar.getComponentAtIndex(int) | replaced by  getComponent(int i) | 
| java.awt.CheckboxGroup.getCurrent() | As of JDK version 1.1,
 replaced by  getSelectedCheckbox(). | 
| java.awt.Frame.getCursorType() | As of JDK version 1.1,
 replaced by  Component.getCursor(). | 
| java.sql.Time.getDate() | |
| java.util.Date.getDate() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.DAY_OF_MONTH). | 
| java.sql.Time.getDay() | |
| java.util.Date.getDay() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.DAY_OF_WEEK). | 
| java.net.URLConnection.getDefaultRequestProperty(String) | The instance specific getRequestProperty method
 should be used after an appropriate instance of URLConnection
 is obtained. | 
| java.rmi.server.LogStream.getDefaultStream() | no replacement | 
| javax.management.monitor.GaugeMonitor.getDerivedGauge() | As of JMX 1.2, replaced by
  GaugeMonitor.getDerivedGauge(ObjectName) | 
| javax.management.monitor.CounterMonitor.getDerivedGauge() | As of JMX 1.2, replaced by
  CounterMonitor.getDerivedGauge(ObjectName) | 
| javax.management.monitor.GaugeMonitorMBean.getDerivedGauge() | As of JMX 1.2, replaced by  GaugeMonitorMBean.getDerivedGauge(ObjectName) | 
| javax.management.monitor.StringMonitor.getDerivedGauge() | As of JMX 1.2, replaced by
  StringMonitor.getDerivedGauge(ObjectName) | 
| javax.management.monitor.CounterMonitorMBean.getDerivedGauge() | As of JMX 1.2, replaced by  CounterMonitorMBean.getDerivedGauge(ObjectName) | 
| javax.management.monitor.StringMonitorMBean.getDerivedGauge() | As of JMX 1.2, replaced by  StringMonitorMBean.getDerivedGauge(ObjectName) | 
| javax.management.monitor.GaugeMonitor.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by
  GaugeMonitor.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.management.monitor.CounterMonitor.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by
  CounterMonitor.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.management.monitor.GaugeMonitorMBean.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by  GaugeMonitorMBean.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.management.monitor.StringMonitor.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by
  StringMonitor.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.management.monitor.CounterMonitorMBean.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by  CounterMonitorMBean.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.management.monitor.StringMonitorMBean.getDerivedGaugeTimeStamp() | As of JMX 1.2, replaced by  StringMonitorMBean.getDerivedGaugeTimeStamp(ObjectName) | 
| javax.swing.plaf.basic.BasicSplitPaneUI.getDividerBorderSize() | As of Java 2 platform v1.3, instead set the border on the
 divider. | 
| javax.xml.bind.Validator.getEventHandler() | since JAXB2.0 | 
| java.awt.Toolkit.getFontList() | |
| javax.swing.text.LabelView.getFontMetrics() | FontMetrics are not used for glyph rendering
  when running in the JDK. | 
| java.awt.Toolkit.getFontMetrics(Font) | As of JDK version 1.2, replaced by the  FontmethodgetLineMetrics. | 
| java.awt.Toolkit.getFontPeer(String, int) | see java.awt.GraphicsEnvironment#getAllFonts | 
| java.sql.Date.getHours() | |
| java.util.Date.getHours() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.HOUR_OF_DAY). | 
| java.lang.SecurityManager.getInCheck() | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.rmi.server.RemoteCall.getInputStream() | no replacement | 
| javax.swing.KeyStroke.getKeyStroke(char, boolean) | use getKeyStroke(char) | 
| javax.swing.AbstractButton.getLabel() | - Replaced by  getText | 
| java.awt.Scrollbar.getLineIncrement() | As of JDK version 1.1,
 replaced by  getUnitIncrement(). | 
| java.lang.Runtime.getLocalizedInputStream(InputStream) | As of JDK 1.1, the preferred way to translate a byte
 stream in the local encoding into a character stream in Unicode is via
 the  InputStreamReaderandBufferedReaderclasses. | 
| java.lang.Runtime.getLocalizedOutputStream(OutputStream) | As of JDK 1.1, the preferred way to translate a
 Unicode character stream into a byte stream in the local encoding is via
 the  OutputStreamWriter,BufferedWriter, andPrintWriterclasses. | 
| java.sql.DriverManager.getLogStream() | Use  getLogWriter | 
| java.awt.FontMetrics.getMaxDecent() | As of JDK version 1.1.1,
 replaced by  getMaxDescent(). | 
| javax.swing.JInternalFrame.getMenuBar() | As of Swing version 1.0.3,
 replaced by  getJMenuBar(). | 
| javax.swing.JRootPane.getMenuBar() | As of Swing version 1.0.3
  replaced by  getJMenuBar(). | 
| java.sql.Date.getMinutes() | |
| java.util.Date.getMinutes() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.MINUTE). | 
| java.sql.Time.getMonth() | |
| java.util.Date.getMonth() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.MONTH). | 
| javax.swing.JComponent.getNextFocusableComponent() | As of 1.4, replaced by  FocusTraversalPolicy. | 
| javax.management.monitor.Monitor.getObservedObject() | As of JMX 1.2, replaced by  Monitor.getObservedObjects() | 
| javax.management.monitor.MonitorMBean.getObservedObject() | As of JMX 1.2, replaced by  MonitorMBean.getObservedObjects() | 
| java.rmi.server.Operation.getOperation() | no replacement | 
| java.rmi.server.Skeleton.getOperations() | no replacement | 
| java.awt.ComponentOrientation.getOrientation(ResourceBundle) | As of J2SE 1.4, use  ComponentOrientation.getOrientation(java.util.Locale). | 
| java.rmi.server.LogStream.getOutputStream() | no replacement | 
| java.rmi.server.RemoteCall.getOutputStream() | no replacement | 
| java.awt.Scrollbar.getPageIncrement() | As of JDK version 1.1,
 replaced by  getBlockIncrement(). | 
| java.security.Signature.getParameter(String) | |
| java.awt.Font.getPeer() | Font rendering is now platform independent. | 
| java.awt.MenuComponent.getPeer() | As of JDK version 1.1,
 programs should not directly manipulate peers. | 
| java.awt.Component.getPeer() | As of JDK version 1.1,
 programs should not directly manipulate peers;
 replaced by  boolean isDisplayable(). | 
| javax.xml.bind.Validator.getProperty(String) | since JAXB2.0 | 
| java.rmi.server.RemoteCall.getResultStream(boolean) | no replacement | 
| java.sql.Date.getSeconds() | |
| java.util.Date.getSeconds() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.SECOND). | 
| java.rmi.server.LoaderHandler.getSecurityContext(ClassLoader) | no replacement | 
| java.rmi.server.RMIClassLoader.getSecurityContext(ClassLoader) | no replacement.  As of the Java 2 platform v1.2, RMI no
 longer uses this method to obtain a class loader's security context. | 
| javax.swing.JList.getSelectedValues() | As of JDK 1.7, replaced by  JList.getSelectedValuesList() | 
| javax.swing.JPasswordField.getText() | As of Java 2 platform v1.2,
 replaced by  getPassword. | 
| javax.swing.JPasswordField.getText(int, int) | As of Java 2 platform v1.2,
 replaced by  getPassword. | 
| javax.management.monitor.CounterMonitor.getThreshold() | As of JMX 1.2, replaced by  CounterMonitor.getThreshold(ObjectName) | 
| javax.management.monitor.CounterMonitorMBean.getThreshold() | As of JMX 1.2, replaced by  CounterMonitorMBean.getThreshold(ObjectName) | 
| java.util.Date.getTimezoneOffset() | As of JDK version 1.1,
 replaced by  -(Calendar.get(Calendar.ZONE_OFFSET) +
 Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000). | 
| java.net.MulticastSocket.getTTL() | use the getTimeToLive method instead, which returns
 an int instead of a byte. | 
| java.net.DatagramSocketImpl.getTTL() | use getTimeToLive instead. | 
| java.sql.ResultSet.getUnicodeStream(int) | use  getCharacterStreamin place ofgetUnicodeStream | 
| java.sql.ResultSet.getUnicodeStream(String) | use  getCharacterStreaminstead | 
| javax.swing.ScrollPaneLayout.getViewportBorderBounds(JScrollPane) | As of JDK version Swing1.1
    replaced by  JScrollPane.getViewportBorderBounds(). | 
| java.awt.Scrollbar.getVisible() | As of JDK version 1.1,
 replaced by  getVisibleAmount(). | 
| java.sql.Time.getYear() | |
| java.util.Date.getYear() | As of JDK version 1.1,
 replaced by  Calendar.get(Calendar.YEAR) - 1900. | 
| java.awt.Component.gotFocus(Event, Object) | As of JDK version 1.1,
 replaced by processFocusEvent(FocusEvent). | 
| java.awt.Component.handleEvent(Event) | As of JDK version 1.1
 replaced by processEvent(AWTEvent). | 
| java.awt.Dialog.hide() | As of JDK version 1.5, replaced by
  setVisible(boolean). | 
| java.awt.Component.hide() | As of JDK version 1.1,
 replaced by  setVisible(boolean). | 
| java.awt.Window.hide() | As of JDK version 1.5, replaced by
  Window.setVisible(boolean). | 
| javax.swing.JComponent.hide() | |
| java.lang.SecurityManager.inClass(String) | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| java.lang.SecurityManager.inClassLoader() | This type of security checking is not recommended.
  It is recommended that the  checkPermissioncall be used instead. | 
| org.omg.CORBA.Any.insert_Principal(Principal) | Deprecated by CORBA 2.2. | 
| javax.swing.text.html.HTMLEditorKit.InsertHTMLTextAction.insertAtBoundry(JEditorPane, HTMLDocument, int, Element, String, HTML.Tag, HTML.Tag) | As of Java 2 platform v1.3, use insertAtBoundary | 
| java.awt.TextArea.insertText(String, int) | As of JDK version 1.1,
 replaced by  insert(String, int). | 
| java.awt.Container.insets() | As of JDK version 1.1,
 replaced by  getInsets(). | 
| java.awt.Polygon.inside(int, int) | As of JDK version 1.1,
 replaced by  contains(int, int). | 
| java.awt.Component.inside(int, int) | As of JDK version 1.1,
 replaced by contains(int, int). | 
| java.awt.Rectangle.inside(int, int) | As of JDK version 1.1,
 replaced by  contains(int, int). | 
| java.rmi.server.RemoteRef.invoke(RemoteCall) | 1.2 style stubs no longer use this method. Instead of
 using a sequence of method calls to the remote reference
 ( newCall,invoke, anddone), a
 stub uses a single method,invoke(Remote, Method, Object[],
 int), on the remote reference to carry out parameter
 marshalling, remote method executing and unmarshalling of the return
 value. | 
| org.omg.CORBA.DynamicImplementation.invoke(ServerRequest) | Deprecated by Portable Object Adapter | 
| javax.swing.JViewport.isBackingStoreEnabled() | As of Java 2 platform v1.3, replaced by
              getScrollMode(). | 
| javax.swing.FocusManager.isFocusManagerEnabled() | As of 1.4, replaced by
    KeyboardFocusManager.getDefaultFocusTraversalPolicy() | 
| java.awt.Component.isFocusTraversable() | As of 1.4, replaced by  isFocusable(). | 
| java.lang.Character.isJavaLetter(char) | Replaced by isJavaIdentifierStart(char). | 
| java.lang.Character.isJavaLetterOrDigit(char) | Replaced by isJavaIdentifierPart(char). | 
| javax.swing.JComponent.isManagingFocus() | As of 1.4, replaced by
    Component.setFocusTraversalKeys(int, Set)andContainer.setFocusCycleRoot(boolean). | 
| java.awt.List.isSelected(int) | As of JDK version 1.1,
 replaced by  isIndexSelected(int). | 
| java.lang.Character.isSpace(char) | Replaced by isWhitespace(char). | 
| java.rmi.dgc.VMID.isUnique() | |
| javax.xml.bind.Unmarshaller.isValidating() | since JAXB2.0, please see  Unmarshaller.getSchema() | 
| java.awt.Component.keyDown(Event, int) | As of JDK version 1.1,
 replaced by processKeyEvent(KeyEvent). | 
| java.awt.Component.keyUp(Event, int) | As of JDK version 1.1,
 replaced by processKeyEvent(KeyEvent). | 
| java.awt.ScrollPane.layout() | As of JDK version 1.1,
 replaced by  doLayout(). | 
| java.awt.Component.layout() | As of JDK version 1.1,
 replaced by  doLayout(). | 
| java.awt.Container.layout() | As of JDK version 1.1,
 replaced by  doLayout(). | 
| java.rmi.server.LoaderHandler.loadClass(String) | no replacement | 
| java.rmi.server.RMIClassLoader.loadClass(String) | replaced by  loadClass(String,String)method | 
| java.rmi.server.LoaderHandler.loadClass(URL, String) | no replacement | 
| java.awt.Component.locate(int, int) | As of JDK version 1.1,
 replaced by getComponentAt(int, int). | 
| java.awt.Container.locate(int, int) | As of JDK version 1.1,
 replaced by  getComponentAt(int, int). | 
| java.awt.Component.location() | As of JDK version 1.1,
 replaced by  getLocation(). | 
| java.rmi.server.LogStream.log(String) | no replacement | 
| java.util.logging.Logger.logrb(Level, String, String, String, String) | |
| java.util.logging.Logger.logrb(Level, String, String, String, String, Object) | |
| java.util.logging.Logger.logrb(Level, String, String, String, String, Object[]) | |
| java.util.logging.Logger.logrb(Level, String, String, String, String, Throwable) | |
| java.awt.Component.lostFocus(Event, Object) | As of JDK version 1.1,
 replaced by processFocusEvent(FocusEvent). | 
| java.awt.TextArea.minimumSize() | As of JDK version 1.1,
 replaced by  getMinimumSize(). | 
| java.awt.List.minimumSize() | As of JDK version 1.1,
 replaced by  getMinimumSize(). | 
| java.awt.TextField.minimumSize() | As of JDK version 1.1,
 replaced by  getMinimumSize(). | 
| java.awt.Component.minimumSize() | As of JDK version 1.1,
 replaced by  getMinimumSize(). | 
| java.awt.Container.minimumSize() | As of JDK version 1.1,
 replaced by  getMinimumSize(). | 
| java.awt.List.minimumSize(int) | As of JDK version 1.1,
 replaced by  getMinimumSize(int). | 
| java.awt.TextField.minimumSize(int) | As of JDK version 1.1,
 replaced by  getMinimumSize(int). | 
| java.awt.TextArea.minimumSize(int, int) | As of JDK version 1.1,
 replaced by  getMinimumSize(int, int). | 
| javax.swing.text.View.modelToView(int, Shape) | |
| java.awt.Component.mouseDown(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseEvent(MouseEvent). | 
| java.awt.Component.mouseDrag(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseMotionEvent(MouseEvent). | 
| java.awt.Component.mouseEnter(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseEvent(MouseEvent). | 
| java.awt.Component.mouseExit(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseEvent(MouseEvent). | 
| java.awt.Component.mouseMove(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseMotionEvent(MouseEvent). | 
| java.awt.Component.mouseUp(Event, int, int) | As of JDK version 1.1,
 replaced by processMouseEvent(MouseEvent). | 
| java.awt.Component.move(int, int) | As of JDK version 1.1,
 replaced by  setLocation(int, int). | 
| java.awt.Rectangle.move(int, int) | As of JDK version 1.1,
 replaced by  setLocation(int, int). | 
| org.omg.CORBA.Principal.name() | Deprecated by CORBA 2.2. | 
| org.omg.CORBA.Principal.name(byte[]) | Deprecated by CORBA 2.2. | 
| java.rmi.server.RemoteRef.newCall(RemoteObject, Operation[], int, long) | 1.2 style stubs no longer use this method. Instead of
 using a sequence of method calls on the stub's the remote reference
 ( newCall,invoke, anddone), a
 stub uses a single method,invoke(Remote, Method, Object[],
 int), on the remote reference to carry out parameter
 marshalling, remote method executing and unmarshalling of the return
 value. | 
| javax.xml.stream.XMLOutputFactory.newInstance(String, ClassLoader) | This method has been deprecated because it returns an
              instance of XMLInputFactory, which is of the wrong class.
              Use the new method  XMLOutputFactory.newFactory(java.lang.String,
              java.lang.ClassLoader)instead. | 
| javax.xml.stream.XMLInputFactory.newInstance(String, ClassLoader) | This method has been deprecated to maintain API consistency.
              All newInstance methods have been replaced with corresponding
              newFactory methods. The replacement  XMLInputFactory.newFactory(java.lang.String, java.lang.ClassLoader)method
              defines no changes in behavior. | 
| javax.xml.stream.XMLEventFactory.newInstance(String, ClassLoader) | This method has been deprecated to maintain API consistency.
              All newInstance methods have been replaced with corresponding
              newFactory methods. The replacement  XMLEventFactory.newFactory(java.lang.String, java.lang.ClassLoader)method defines no changes in behavior. | 
| java.awt.Component.nextFocus() | As of JDK version 1.1,
 replaced by transferFocus(). | 
| java.awt.datatransfer.DataFlavor.normalizeMimeType(String) | |
| javax.activation.ActivationDataFlavor.normalizeMimeType(String) | |
| java.awt.datatransfer.DataFlavor.normalizeMimeTypeParameter(String, String) | |
| javax.activation.ActivationDataFlavor.normalizeMimeTypeParameter(String, String) | |
| javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Vector<?>, TreePath) | As of JDK version 1.7 | 
| org.omg.CORBA.ServerRequest.op_name() | use operation() | 
| org.omg.CORBA.ServerRequest.params(NVList) | use the method  arguments | 
| java.util.Date.parse(String) | As of JDK version 1.1,
 replaced by  DateFormat.parse(String s). | 
| java.rmi.server.LogStream.parseLevel(String) | no replacement | 
| java.awt.MenuComponent.postEvent(Event) | As of JDK version 1.1, replaced by  dispatchEvent. | 
| java.awt.MenuContainer.postEvent(Event) | As of JDK version 1.1
 replaced by dispatchEvent(AWTEvent). | 
| java.awt.Component.postEvent(Event) | As of JDK version 1.1,
 replaced by dispatchEvent(AWTEvent). | 
| java.awt.Window.postEvent(Event) | As of JDK version 1.1
 replaced by  dispatchEvent(AWTEvent). | 
| java.awt.image.renderable.RenderContext.preConcetenateTransform(AffineTransform) | replaced by
                  preConcatenateTransform(AffineTransform). | 
| java.awt.TextArea.preferredSize() | As of JDK version 1.1,
 replaced by  getPreferredSize(). | 
| java.awt.List.preferredSize() | As of JDK version 1.1,
 replaced by  getPreferredSize(). | 
| java.awt.TextField.preferredSize() | As of JDK version 1.1,
 replaced by  getPreferredSize(). | 
| java.awt.Component.preferredSize() | As of JDK version 1.1,
 replaced by  getPreferredSize(). | 
| java.awt.Container.preferredSize() | As of JDK version 1.1,
 replaced by  getPreferredSize(). | 
| java.awt.List.preferredSize(int) | As of JDK version 1.1,
 replaced by  getPreferredSize(int). | 
| java.awt.TextField.preferredSize(int) | As of JDK version 1.1,
 replaced by  getPreferredSize(int). | 
| java.awt.TextArea.preferredSize(int, int) | As of JDK version 1.1,
 replaced by  getPreferredSize(int, int). | 
| org.omg.CORBA.portable.InputStream.read_Principal() | Deprecated by CORBA 2.2. | 
| java.io.DataInputStream.readLine() | This method does not properly convert bytes to characters.
 As of JDK 1.1, the preferred way to read lines of text is via the
  BufferedReader.readLine()method.  Programs that use theDataInputStreamclass to read lines can be converted to use
 theBufferedReaderclass by replacing code of the form:with: | 
| java.io.ObjectInputStream.readLine() | This method does not properly convert bytes to characters.
          see DataInputStream for the details and alternatives. | 
| java.rmi.registry.RegistryHandler.registryImpl(int) | no replacement.  As of the Java 2 platform v1.2, RMI no
 longer uses the  RegistryHandlerto obtain the registry's
 implementation. | 
| java.rmi.registry.RegistryHandler.registryStub(String, int) | no replacement.  As of the Java 2 platform v1.2, RMI no
 longer uses the  RegistryHandlerto obtain the registry's
 stub. | 
| java.rmi.server.RemoteCall.releaseInputStream() | no replacement | 
| java.rmi.server.RemoteCall.releaseOutputStream() | no replacement | 
| javax.swing.plaf.metal.MetalComboBoxUI.removeListeners() | As of Java 2 platform v1.4. | 
| java.util.jar.Pack200.Packer.removePropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates
             a significant impediment to future modularization of the
             Java platform. This method will be removed in a future
             release. | 
| java.util.jar.Pack200.Unpacker.removePropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates
             a significant impediment to future modularization of the
             Java platform. This method will be removed in a future
             release. | 
| java.util.logging.LogManager.removePropertyChangeListener(PropertyChangeListener) | The dependency on  PropertyChangeListenercreates a
             significant impediment to future modularization of the Java
             platform. This method will be removed in a future release.
             The globalLogManagercan detect changes to the
             logging configuration by overridding thereadConfigurationmethod. | 
| java.awt.TextArea.replaceText(String, int, int) | As of JDK version 1.1,
 replaced by  replaceRange(String, int, int). | 
| javax.swing.JComponent.requestDefaultFocus() | As of 1.4, replaced by
  FocusTraversalPolicy.getDefaultComponent(Container).requestFocus() | 
| java.awt.Component.reshape(int, int, int, int) | As of JDK version 1.1,
 replaced by  setBounds(int, int, int, int). | 
| java.awt.Window.reshape(int, int, int, int) | As of JDK version 1.1,
 replaced by  setBounds(int, int, int, int). | 
| java.awt.Rectangle.reshape(int, int, int, int) | As of JDK version 1.1,
 replaced by  setBounds(int, int, int, int). | 
| javax.swing.JComponent.reshape(int, int, int, int) | As of JDK 5,
 replaced by  Component.setBounds(int, int, int, int).Moves and resizes this component. | 
| java.awt.Component.resize(Dimension) | As of JDK version 1.1,
 replaced by  setSize(Dimension). | 
| java.awt.Component.resize(int, int) | As of JDK version 1.1,
 replaced by  setSize(int, int). | 
| java.awt.Rectangle.resize(int, int) | As of JDK version 1.1,
 replaced by  setSize(int, int). | 
| org.omg.CORBA.ServerRequest.result(Any) | use the method  set_result | 
| java.lang.ThreadGroup.resume() | This method is used solely in conjunction with
      Thread.suspend and ThreadGroup.suspend,
       both of which have been deprecated, as they are inherently
       deadlock-prone.  See  Thread.suspend()for details. | 
| java.lang.Thread.resume() | This method exists solely for use with  Thread.suspend(),
     which has been deprecated because it is deadlock-prone.
     For more information, see
     Why
     are Thread.stop, Thread.suspend and Thread.resume Deprecated?. | 
| java.lang.System.runFinalizersOnExit(boolean) | This method was originally designed to enable or disable
 running finalizers on exit. Running finalizers on exit was disabled
 by default. If enabled, then the finalizers of all objects whose
 finalizers had not yet been automatically invoked were to be run before
 the Java runtime exits. That behavior is inherently unsafe. It may
 result in finalizers being called on live objects while other threads
 are concurrently manipulating those objects, resulting in erratic
 behavior or deadlock. | 
| java.lang.Runtime.runFinalizersOnExit(boolean) | This method was originally designed to enable or disable
 running finalizers on exit. Running finalizers on exit was disabled by default.
 If enabled, then the finalizers of all objects whose finalizers had not
 yet been automatically invoked were to be run before the Java runtime exits.
 That behavior is inherently unsafe. It may result in finalizers being called
 on live objects while other threads are concurrently manipulating those objects,
 resulting in erratic behavior or deadlock. | 
| java.util.Properties.save(OutputStream, String) | This method does not throw an IOException if an I/O error
 occurs while saving the property list.  The preferred way to save a
 properties list is via the  store(OutputStream out,
 String comments)method or thestoreToXML(OutputStream os, String comment)method. | 
| java.net.MulticastSocket.send(DatagramPacket, byte) | Use the following code or its equivalent instead:
  ......
  int ttl = mcastSocket.getTimeToLive();
  mcastSocket.setTimeToLive(newttl);
  mcastSocket.send(p);
  mcastSocket.setTimeToLive(ttl);
  ...... | 
| javax.swing.JViewport.setBackingStoreEnabled(boolean) | As of Java 2 platform v1.3, replaced by
              setScrollMode(). | 
| java.awt.CheckboxGroup.setCurrent(Checkbox) | As of JDK version 1.1,
 replaced by  setSelectedCheckbox(Checkbox). | 
| java.awt.Frame.setCursor(int) | As of JDK version 1.1,
 replaced by  Component.setCursor(Cursor). | 
| java.sql.Time.setDate(int) | |
| java.util.Date.setDate(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.DAY_OF_MONTH, int date). | 
| java.net.URLConnection.setDefaultRequestProperty(String, String) | The instance specific setRequestProperty method
 should be used after an appropriate instance of URLConnection
 is obtained. Invoking this method will have no effect. | 
| java.rmi.server.LogStream.setDefaultStream(PrintStream) | no replacement | 
| java.awt.TextField.setEchoCharacter(char) | As of JDK version 1.1,
 replaced by  setEchoChar(char). | 
| javax.xml.bind.Validator.setEventHandler(ValidationEventHandler) | since JAXB2.0 | 
| java.sql.Date.setHours(int) | |
| java.util.Date.setHours(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.HOUR_OF_DAY, int hours). | 
| javax.swing.AbstractButton.setLabel(String) | - Replaced by  setText(text) | 
| java.awt.Scrollbar.setLineIncrement(int) | As of JDK version 1.1,
 replaced by  setUnitIncrement(int). | 
| java.sql.DriverManager.setLogStream(PrintStream) | Use  setLogWriter | 
| javax.management.AttributeValueExp.setMBeanServer(MBeanServer) | This method has no effect.  The MBean Server used to
 obtain an attribute value is  QueryEval.getMBeanServer(). | 
| javax.management.StringValueExp.setMBeanServer(MBeanServer) | |
| javax.management.ValueExp.setMBeanServer(MBeanServer) | This method is not needed because a
  ValueExpcan access the MBean server in which it
 is being evaluated by usingQueryEval.getMBeanServer(). | 
| javax.swing.JInternalFrame.setMenuBar(JMenuBar) | As of Swing version 1.0.3
  replaced by  setJMenuBar(JMenuBar m). | 
| javax.swing.JRootPane.setMenuBar(JMenuBar) | As of Swing version 1.0.3
  replaced by  setJMenuBar(JMenuBar menu). | 
| java.sql.Date.setMinutes(int) | |
| java.util.Date.setMinutes(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.MINUTE, int minutes). | 
| java.awt.event.KeyEvent.setModifiers(int) | as of JDK1.1.4 | 
| java.sql.Time.setMonth(int) | |
| java.util.Date.setMonth(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.MONTH, int month). | 
| java.awt.List.setMultipleSelections(boolean) | As of JDK version 1.1,
 replaced by  setMultipleMode(boolean). | 
| javax.swing.JComponent.setNextFocusableComponent(Component) | As of 1.4, replaced by  FocusTraversalPolicy | 
| javax.management.monitor.Monitor.setObservedObject(ObjectName) | As of JMX 1.2, replaced by  Monitor.addObservedObject(javax.management.ObjectName) | 
| javax.management.monitor.MonitorMBean.setObservedObject(ObjectName) | As of JMX 1.2, replaced by  MonitorMBean.addObservedObject(javax.management.ObjectName) | 
| java.rmi.server.LogStream.setOutputStream(OutputStream) | no replacement | 
| java.awt.Scrollbar.setPageIncrement(int) | As of JDK version 1.1,
 replaced by  setBlockIncrement(). | 
| java.security.Signature.setParameter(String, Object) | Use
  setParameter. | 
| javax.xml.bind.Validator.setProperty(String, Object) | since JAXB2.0 | 
| java.rmi.server.RemoteStub.setRef(RemoteStub, RemoteRef) | No replacement.  The  setRefmethod
 was intended for setting the remote reference of a remote
 stub. This is unnecessary, sinceRemoteStubs can be created
 and initialized with a remote reference through use of
 theRemoteStub.RemoteStub(RemoteRef)constructor. | 
| java.sql.Date.setSeconds(int) | |
| java.util.Date.setSeconds(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.SECOND, int seconds). | 
| javax.management.monitor.CounterMonitor.setThreshold(Number) | As of JMX 1.2, replaced by  CounterMonitor.setInitThreshold(java.lang.Number) | 
| javax.management.monitor.CounterMonitorMBean.setThreshold(Number) | As of JMX 1.2, replaced by  CounterMonitorMBean.setInitThreshold(java.lang.Number) | 
| java.net.MulticastSocket.setTTL(byte) | use the setTimeToLive method instead, which uses
 int instead of byte as the type for ttl. | 
| java.net.DatagramSocketImpl.setTTL(byte) | use setTimeToLive instead. | 
| java.sql.PreparedStatement.setUnicodeStream(int, InputStream, int) | Use  setCharacterStream | 
| javax.sql.rowset.BaseRowSet.setUnicodeStream(int, InputStream, int) | getCharacterStream should be used in its place | 
| java.net.URLStreamHandler.setURL(URL, String, String, int, String, String) | Use setURL(URL, String, String, int, String, String, String,
             String); | 
| javax.xml.bind.Unmarshaller.setValidating(boolean) | since JAXB2.0, please see  Unmarshaller.setSchema(javax.xml.validation.Schema) | 
| java.sql.Time.setYear(int) | |
| java.util.Date.setYear(int) | As of JDK version 1.1,
 replaced by  Calendar.set(Calendar.YEAR, year + 1900). | 
| java.awt.Dialog.show() | As of JDK version 1.5, replaced by
  setVisible(boolean). | 
| java.awt.Component.show() | As of JDK version 1.1,
 replaced by  setVisible(boolean). | 
| java.awt.Window.show() | As of JDK version 1.5, replaced by
  Window.setVisible(boolean). | 
| java.awt.Component.show(boolean) | As of JDK version 1.1,
 replaced by  setVisible(boolean). | 
| java.awt.Component.size() | As of JDK version 1.1,
 replaced by  getSize(). | 
| javax.swing.JTable.sizeColumnsToFit(boolean) | As of Swing version 1.0.3,
 replaced by  doLayout(). | 
| java.lang.ThreadGroup.stop() | This method is inherently unsafe.  See
      Thread.stop()for details. | 
| java.lang.Thread.stop() | This method is inherently unsafe.  Stopping a thread with
       Thread.stop causes it to unlock all of the monitors that it
       has locked (as a natural consequence of the unchecked
        ThreadDeathexception propagating up the stack).  If
       any of the objects previously protected by these monitors were in
       an inconsistent state, the damaged objects become visible to
       other threads, potentially resulting in arbitrary behavior.  Many
       uses ofstopshould be replaced by code that simply
       modifies some variable to indicate that the target thread should
       stop running.  The target thread should check this variable
       regularly, and return from its run method in an orderly fashion
       if the variable indicates that it is to stop running.  If the
       target thread waits for long periods (on a condition variable,
       for example), theinterruptmethod should be used to
       interrupt the wait.
       For more information, see
       Why
       are Thread.stop, Thread.suspend and Thread.resume Deprecated?. | 
| java.lang.Thread.stop(Throwable) | This method was originally designed to force a thread to stop
        and throw a given  Throwableas an exception. It was
        inherently unsafe (seeThread.stop()for details), and furthermore
        could be used to generate exceptions that the target thread was
        not prepared to handle.
        For more information, see
        Why
        are Thread.stop, Thread.suspend and Thread.resume Deprecated?. | 
| java.lang.ThreadGroup.suspend() | This method is inherently deadlock-prone.  See
      Thread.suspend()for details. | 
| java.lang.Thread.suspend() | This method has been deprecated, as it is
   inherently deadlock-prone.  If the target thread holds a lock on the
   monitor protecting a critical system resource when it is suspended, no
   thread can access this resource until the target thread is resumed. If
   the thread that would resume the target thread attempts to lock this
   monitor prior to calling  resume, deadlock results.  Such
   deadlocks typically manifest themselves as "frozen" processes.
   For more information, see
   Why
   are Thread.stop, Thread.suspend and Thread.resume Deprecated?. | 
| java.util.Date.toGMTString() | As of JDK version 1.1,
 replaced by  DateFormat.format(Date date), using a
 GMTTimeZone. | 
| java.util.Date.toLocaleString() | As of JDK version 1.1,
 replaced by  DateFormat.format(Date date). | 
| java.rmi.server.LogStream.toString() | no replacement | 
| java.rmi.server.Operation.toString() | no replacement | 
| java.io.ByteArrayOutputStream.toString(int) | This method does not properly convert bytes into characters.
 As of JDK 1.1, the preferred way to do this is via the
  toString(String enc)method, which takes an encoding-name
 argument, or thetoString()method, which uses the
 platform's default character encoding. | 
| java.io.File.toURL() | |
| javax.swing.plaf.metal.MetalScrollPaneUI.uninstallListeners(JScrollPane) | - Replaced by  MetalScrollPaneUI.uninstallListeners(JComponent) | 
| java.util.Date.UTC(int, int, int, int, int, int) | As of JDK version 1.1,
 replaced by  Calendar.set(year + 1900, month, date,
 hrs, min, sec)orGregorianCalendar(year + 1900,
 month, date, hrs, min, sec), using a UTCTimeZone, followed byCalendar.getTime().getTime(). | 
| javax.xml.bind.Validator.validate(Object) | since JAXB2.0 | 
| javax.xml.bind.Validator.validateRoot(Object) | since JAXB2.0 | 
| javax.swing.text.View.viewToModel(float, float, Shape) | |
| org.omg.CORBA.portable.OutputStream.write_Principal(Principal) | Deprecated by CORBA 2.2. | 
| java.rmi.server.LogStream.write(byte[], int, int) | no replacement | 
| java.rmi.server.LogStream.write(int) | no replacement | 
| java.io.ObjectOutputStream.PutField.write(ObjectOutput) | This method does not write the values contained by this
          PutFieldobject in a proper format, and may
         result in corruption of the serialization stream.  The
         correct way to writePutFielddata is by
         calling theObjectOutputStream.writeFields()method. | 
| Constructor | Description | 
|---|---|
| javax.management.AttributeValueExp() | An instance created with this constructor cannot be
 used in a query. | 
| java.sql.Date(int, int, int) | instead use the constructor  Date(long date) | 
| java.util.Date(int, int, int) | As of JDK version 1.1,
 replaced by  Calendar.set(year + 1900, month, date)orGregorianCalendar(year + 1900, month, date). | 
| java.util.Date(int, int, int, int, int) | As of JDK version 1.1,
 replaced by  Calendar.set(year + 1900, month, date,
 hrs, min)orGregorianCalendar(year + 1900,
 month, date, hrs, min). | 
| java.util.Date(int, int, int, int, int, int) | As of JDK version 1.1,
 replaced by  Calendar.set(year + 1900, month, date,
 hrs, min, sec)orGregorianCalendar(year + 1900,
 month, date, hrs, min, sec). | 
| java.util.Date(String) | As of JDK version 1.1,
 replaced by  DateFormat.parse(String s). | 
| java.awt.event.KeyEvent(Component, int, long, int, int) | as of JDK1.1 | 
| java.rmi.server.Operation(String) | no replacement | 
| java.rmi.RMISecurityException(String) | no replacement | 
| java.rmi.RMISecurityException(String, String) | no replacement | 
| java.rmi.ServerRuntimeException(String, Exception) | no replacement | 
| java.rmi.server.SkeletonMismatchException(String) | no replacement | 
| java.net.Socket(InetAddress, int, boolean) | Use DatagramSocket instead for UDP transport. | 
| java.net.Socket(String, int, boolean) | Use DatagramSocket instead for UDP transport. | 
| java.io.StreamTokenizer(InputStream) | As of JDK version 1.1, the preferred way to tokenize an
 input stream is to convert it into a character stream, for example:
  Reader r = new BufferedReader(new InputStreamReader(is)); StreamTokenizer st = new StreamTokenizer(r); | 
| java.lang.String(byte[], int) | This method does not properly convert bytes into
 characters.  As of JDK 1.1, the preferred way to do this is via the
  Stringconstructors that take aCharset, charset name, or that use the platform's
 default charset. | 
| java.lang.String(byte[], int, int, int) | This method does not properly convert bytes into characters.
 As of JDK 1.1, the preferred way to do this is via the
  Stringconstructors that take aCharset, charset name, or that use the platform's
 default charset. | 
| org.omg.CORBA.TCKind(int) | Do not use this constructor as this method should be private
 according to the OMG specification. Use  TCKind.from_int(int)instead. | 
| java.sql.Time(int, int, int) | Use the constructor that takes a milliseconds value
             in place of this constructor | 
| java.sql.Timestamp(int, int, int, int, int, int, int) | instead use the constructor  Timestamp(long millis) | 
| Annotation Type Element | Description | 
|---|---|
| javax.jws.HandlerChain.name | 
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.