Deprecated API
Show API deprecated in:
Contents
- Terminally Deprecated
- Interfaces
- Classes
- Exception Classes
- Fields
- Methods
- Constructors
- Enum Constants
-
Terminally Deprecated ElementsElementDeprecated inDescription16169Applet API已被弃用,没有替代方案。9Applet API已被弃用,没有替代方案。9Applet API已被弃用,没有替代方案。9Applet API已被弃用,没有替代方案。9终结方法已被弃用以便移除。请参阅
Object.finalize()获取背景信息和迁移选项的详细信息。9终结方法已被弃用以便移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9Applet API已被弃用。请查看java.applet包文档以获取更多信息。9建议使用Beans.instantiate(ClassLoader, String, BeanContext),因为Applet API已被弃用。请查看java.applet包文档以获取更多信息。9很少适合使用此构造函数。通常更好的选择是静态工厂Boolean.valueOf(boolean),因为它可能会在空间和时间性能上产生显着更好的结果。如果可能的话,还请考虑使用最终字段Boolean.TRUE和Boolean.FALSE。9很少适合使用此构造函数。使用Boolean.parseBoolean(String)将字符串转换为boolean基本类型,或使用Boolean.valueOf(String)将字符串转换为Boolean对象。9很少适合使用此构造函数。通常更好的选择是静态工厂Byte.valueOf(byte),因为它可能会在空间和时间性能上产生显着更好的结果。99很少适合使用此构造函数。通常更好的选择是静态工厂Character.valueOf(char),因为它可能会在空间和时间性能上产生显着更好的结果。9很少适合使用此构造函数。通常更好的选择是静态工厂Double.valueOf(double),因为它可能会在空间和时间性能上产生显着更好的结果。918终结方法已被弃用以便移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9很少适合使用此构造函数。相反,请使用静态工厂方法Float.valueOf(float)方法,如下:Float.valueOf((float)value)。9很少适合使用此构造函数。通常更好的选择是静态工厂Float.valueOf(float),因为它可能会在空间和时间性能上产生显着更好的结果。99很少适合使用此构造函数。通常更好的选择是静态工厂Integer.valueOf(int),因为它可能会在空间和时间性能上产生显着更好的结果。99很少适合使用此构造函数。通常更好的选择是静态工厂Long.valueOf(long),因为它可能会在空间和时间性能上产生显着更好的结果。99终结方法已被弃用并将在将来的版本中移除。使用终结方法可能会导致安全性、性能和可靠性问题。请参阅JEP 421进行讨论和替代方案。重写
finalize以执行清理操作的子类应使用替代的清理机制并移除finalize方法。使用Cleaner和PhantomReference作为释放对象变得不可达时更安全的方式释放资源。或者,添加close方法以显式释放资源,并实现AutoCloseable以启用try-with-resources语句的使用。此方法将保留到大多数现有代码中的终结器被移除为止。
18终结方法已被弃用以便移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。在禁用或移除终结方法的JVM中运行时,没有对象会处于终结挂起状态,因此此方法不执行任何操作。
17安全管理器已被弃用并将在将来的版本中移除。安全管理器没有替代方案。请参阅JEP 411进行讨论和替代方案。1.49很少适合使用此构造函数。通常更好的选择是静态工厂Short.valueOf(short),因为它可能会在空间和时间性能上产生显着更好的结果。917此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并将在将来的版本中移除。因此,此方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。18终结方法已被弃用以便移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。在禁用或移除终结方法的JVM中运行时,没有对象会处于终结挂起状态,因此此方法不执行任何操作。
17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并将在将来的版本中移除。因此,此方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并将在将来的版本中移除。因此,此方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。1.2此方法最初设计用于计算堆栈帧的数量,但结果从未定义良好,并且取决于线程挂起。此方法将在未来的Java SE版本中被移除。1.2此方法最初被指定为恢复使用Thread.suspend()挂起的线程。挂起线程本质上容易产生死锁。有关更多信息,请参阅为什么Thread.stop、Thread.suspend和Thread.resume被弃用?。1.2该方法最初被指定为通过使受影响的线程抛出ThreadDeath来“停止”受害线程。这本质上是不安全的。停止一个线程会导致它解锁所有已锁定的监视器(作为ThreadDeath异常向上传播的自然结果)。如果先前由这些监视器保护的对象中有任何对象处于不一致状态,则受损对象会对其他线程可见,可能导致任意行为。应该用简单修改某个变量来指示目标线程应停止运行的代码替换stop的用法。目标线程应定期检查此变量,并且如果变量指示应停止运行,则从其运行方法中有序返回。如果目标线程等待很长时间(例如在条件变量上),则应使用interrupt方法来中断等待。有关更多信息,请参见为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。1.2该方法最初被指定为暂停一个线程。这本质上容易导致死锁。如果目标线程在被暂停时持有保护关键系统资源的监视器的锁,则在目标线程恢复之前,没有线程可以访问该资源。如果意图恢复目标线程的线程在调用resume之前尝试锁定监视器,则会导致死锁。这种死锁通常表现为“冻结”进程。有关更多信息,请参见为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。20Thread.stop()最初被指定为通过使受影响的线程抛出ThreadDeath来“停止”受害线程。这本质上是不安全的,并在早期的JDK版本中已被弃用。使用Thread.stop来“停止”线程的能力已被移除,并且Thread.stop方法已更改为抛出异常。因此,ThreadDeath也已被弃用,将被移除。17该方法只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。16该方法最初被指定为销毁一个空线程组。显式销毁线程组的能力不再存在。当线程组中没有活动线程且无法访问该组时,线程组就有资格被GC回收。16该方法最初指示线程组是否为自动在其最后一个线程终止时销毁的守护线程组。守护线程组的概念不再存在。当线程组中没有活动线程且无法访问该组时,线程组就有资格被GC回收。16该方法最初指示线程组是否已被销毁。销毁线程组的能力和已销毁线程组的概念不再存在。当线程组中没有活动线程且无法访问该组时,线程组就有资格被GC回收。1.2该方法最初被指定为恢复线程组中的所有线程。16该方法最初配置线程组是否为自动在其最后一个线程终止时销毁的守护线程组。守护线程组的概念不再存在。当线程组中没有活动线程且无法访问该组时,线程组就有资格被GC回收。1.2该方法最初被指定为停止线程组中的所有线程。这本质上是不安全的。1.2该方法最初被指定为暂停线程组中的所有线程。1.8该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。1.2该类已被弃用并将在将来的Java SE版本中移除。它已被java.security.cert.Certificate及相关类取代。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。1.2该类已被弃用并将在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal取代。1.2该类已被弃用并将在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal取代。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。17该类只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该类也已被弃用并将被移除。安全管理器或此类没有替代方案。1.2该类已被弃用并将在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal取代。17该方法只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。17该方法只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。17该方法只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。17该方法只有与安全管理器结合使用时才有用,安全管理器已被弃用并将在将来的版本中移除。因此,该方法也已被弃用并将被移除。安全管理器或此方法没有替代方案。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。20该API是管理Applets(m-lets)的一部分,这是一个允许加载远程MBeans的遗留功能。没有安全管理器,这个功能无法使用,安全管理器已被弃用并将在将来的版本中移除。因此,该API也已被弃用并将被移除。没有替代方案。20这个API是管理小程序(m-lets)的一部分,它是一个允许加载远程MBeans的遗留功能。该功能在没有安全管理器的情况下无法使用,安全管理器已被弃用,并可能在将来的版本中被移除。因此,该API也已被弃用并可能被移除。没有替代方案。20这个API是管理小程序(m-lets)的一部分,它是一个允许加载远程MBeans的遗留功能。该功能在没有安全管理器的情况下无法使用,安全管理器已被弃用,并可能在将来的版本中被移除。因此,该API也已被弃用并可能被移除。没有替代方案。20这个API是管理小程序(m-lets)的一部分,它是一个允许加载远程MBeans的遗留功能。该功能在没有安全管理器的情况下无法使用,安全管理器已被弃用,并可能在将来的版本中被移除。因此,该API也已被弃用并可能被移除。没有替代方案。1621这个方法支持遗留的Subject Delegation功能,只有与其他已被弃用且可能在将来的版本中被移除的API一起使用才有用。因此,该方法也已被弃用并可能被移除。没有替代方案。9在构建初始上下文时,将忽略具有此名称的环境属性。这个常量最初用作一个属性名称,用于指定一个Applet来检索参数,创建初始上下文时。当前,任何需要传递给初始上下文的applet属性应该复制到环境哈希表中:Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, ((Applet) this).getParameter(Context.INITIAL_CONTEXT_FACTORY)); env.put(Context.PROVIDER_URL, ((Applet) this).getParameter(Context.PROVIDER_URL)); // ... 其他属性 ... Context ctx = new InitialContext(env);9应该使用返回java.security.cert.Certificate数组的HandshakeCompletedEvent.getPeerCertificates()方法。9应该使用返回java.security.cert.Certificate数组的SSLSession.getPeerCertificates()方法。18这个方法依赖于AccessControlContext,与安全管理器一起使用,已被弃用并可能在将来的版本中被移除。然而,作为Subject执行工作是独立于安全管理器的。因此,已添加了一个名为Subject.callAs(javax.security.auth.Subject, java.util.concurrent.Callable<T>)的替代API,可用于执行相同的工作。18这个方法依赖于AccessControlContext,与安全管理器一起使用,已被弃用并可能在将来的版本中被移除。然而,作为Subject执行工作是独立于安全管理器的。因此,已添加了一个名为Subject.callAs(javax.security.auth.Subject, java.util.concurrent.Callable<T>)的替代API,可用于执行相同的工作。17这个方法只有与安全管理器一起使用才有用,安全管理器已被弃用并可能在将来的版本中被移除。因此,该方法也已被弃用并可能被移除。安全管理器或该方法没有替代方案。17这个方法只有与安全管理器一起使用才有用,安全管理器已被弃用并可能在将来的版本中被移除。因此,该方法也已被弃用并可能被移除。安全管理器或该方法没有替代方案。17这个方法依赖于AccessControlContext,与安全管理器一起使用,已被弃用并可能在将来的版本中被移除。然而,获取Subject是独立于安全管理器的。因此,已添加了一个名为Subject.current()的替代API,可用于获取当前主题。17这个类只有与安全管理器一起使用才有用,安全管理器已被弃用并可能在将来的版本中被移除。因此,该类也已被弃用并可能被移除。安全管理器或该类没有替代方案。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9Applet API已被弃用,没有替代方案。17已过时的方法,不再使用。17已过时的方法,不再使用。17已过时的方法,不再使用。171717171717建议使用BasicToolBarUI.createFloatingWindow(JToolBar)。21使用SynthLookAndFeel.load(InputStream, Class)或setStyleFactory(SynthStyleFactory)。9Applet API已被弃用。有关更多信息,请参阅java.applet包文档。16使用Socket.supportedOptions()、ServerSocket.supportedOptions()或DatagramSocket.supportedOptions()。
-
Deprecated InterfacesInterfaceDeprecated inDescription9Applet API已被弃用,没有替代方案。9Applet API已被弃用,没有替代方案。9Applet API已被弃用,没有替代方案。9Applet API已被弃用。有关更多信息,请参阅java.applet包文档。没有替代方案。没有替代方案。没有替代方案。没有替代方案。这个接口未被使用,已过时。没有替代方案。在Java 2平台v1.2及更高版本中,远程方法调用不再需要框架。1.2这个类已被弃用,并可能在将来的Java SE版本中被移除。它已被
java.security.cert.Certificate及相关类所取代。17这个类只有与安全管理器一起使用才有用,安全管理器已被弃用并可能在将来的版本中被移除。因此,该类也已被弃用并可能被移除。安全管理器或该类没有替代方案。17这个类只有与安全管理器一起使用才有用,安全管理器已被弃用并可能在将来的版本中被移除。因此,该类也已被弃用并可能被移除。安全管理器或该类没有替代方案。9LoggingMXBean不再是一个平台MXBean,已被PlatformLoggingMXBean所取代。它不会在平台MBeanServer中注册。应该使用ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class)。9这个接口已被弃用。有关更多信息,请参阅Observable类。20这个API是管理小程序(m-lets)的一部分,它是一个允许加载远程MBeans的遗留功能。该功能在没有安全管理器的情况下无法使用,安全管理器已被弃用,并可能在将来的版本中被移除。因此,该API也已被弃用并可能被移除。没有替代方案。1.5这个接口已被SAX2的Attributes接口所取代,包括命名空间支持。1.5这个接口已被SAX2的ContentHandler接口所取代,包括命名空间支持。1.5这个接口已被SAX2的XMLReader接口所取代,包括命名空间支持。
-
Deprecated ClassesClassDeprecated inDescription9Applet API已被弃用,没有替代方案。9建议使用
AWTEvent及其子类。这个类错误地假设字节足以表示字符。从JDK 1.1开始,操作字符流的首选方式是通过新的字符流类,其中包括一个用于计算行号的类。这个类没有正确地将字符转换为字节。从JDK 1.1开始,从字符串创建流的首选方式是通过StringReader类。17安全管理器已被弃用,并可能在将来的版本中移除。安全管理器没有替代方案。请参阅JEP 411以获取讨论和替代方案。1.8这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。没有替代方案没有替代方案静态生成的存根已被弃用,因为存根是动态生成的。有关动态存根生成的信息,请参阅UnicastRemoteObject。17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。1.2这个类已被弃用并可能在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal替代。1.2这个类已被弃用并可能在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal替代。17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。1.2这个类已被弃用并可能在将来的Java SE版本中移除。它已被java.security.KeyStore、java.security.cert包和java.security.Principal替代。9这个类和Observer接口已被弃用。由Observer和Observable支持的事件模型非常有限,Observable传递的通知顺序未指定,并且状态更改与通知不是一对一对应的。要使用更丰富的事件模型,请考虑使用java.beans包。要在线程之间实现可靠和有序的消息传递,请考虑使用java.util.concurrent包中的并发数据结构之一。对于响应式流式编程,请参阅FlowAPI。作为Java平台1.3的一部分已被弃用20这个API是管理Applets(m-lets)的一部分,这是一个允许加载远程MBeans的遗留功能。没有安全管理器,这个功能无法使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个API也已被弃用并可能被移除。没有替代方案。20这个API是管理Applets(m-lets)的一部分,这是一个允许加载远程MBeans的遗留功能。没有安全管理器,这个功能无法使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个API也已被弃用并可能被移除。没有替代方案。20这个API是管理Applets(m-lets)的一部分,这是一个允许加载远程MBeans的遗留功能。没有安全管理器,这个功能无法使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个API也已被弃用并可能被移除。没有替代方案。17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。9使用java.security.cert中的类。9使用java.security.cert中的类。9Applet API已被弃用,没有替代方案。这个类不再被使用或需要。java.awt.Component.AccessibleAWTComponent提供了相同的功能,并且在Component中处理。1717171717从Java 2平台v1.4开始。9从JDK版本9开始。已过时的类。9从JDK版本9开始。已过时的类。现在,表格单元可以是任何视图实现。16Java SE 9添加了用于设置/获取套接字选项和检索每个套接字支持的选项的标准方法,有效地使这个API变得多余。请参考相应套接字类的等效方法来设置/获取套接字选项或检索可用的套接字选项。1.5这个类与已弃用的DocumentHandler接口一起使用。它已被SAX2的DefaultHandler类替代。1.51.5这个类与已弃用的Parser接口一起使用。9建议使用SAXParserFactory。
-
Deprecated Exception ClassesException ClassDeprecated inDescription这个异常不再抛出这个异常不再抛出20最初规定
Thread.stop()通过使受影响的线程抛出ThreadDeath来“停止”受影响的线程。这本质上是不安全的,并在早期的JDK版本中已被弃用。使用Thread.stop来“停止”线程的能力已被移除,Thread.stop方法已更改为抛出异常。因此,ThreadDeath也已被弃用,将被移除。使用SecurityException。应用程序代码不应直接引用这个类,RMISecurityManager不再抛出这个java.lang.SecurityException子类。没有替代方案。在Java 2平台v1.2及更高版本中,不再需要远程方法调用的存根。没有替代方案。在Java 2平台v1.2及更高版本中,不再需要远程方法调用的存根。这个类已过时。使用ExportException代替。没有替代方案17这个类只能与安全管理器一起使用,安全管理器已被弃用并可能在将来的版本中移除。因此,这个类也已被弃用并可能被移除。安全管理器或这个类没有替代方案。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。9使用java.security.cert中的类。
-
Deprecated FieldsFieldDeprecated inDescription从JDK版本1.7开始,应使用
Cursor.getPredefinedCursor(int)方法。从1.3开始。使用DataFlavor.getReaderForText(java.awt.datatransfer.Transferable)代替Transferable.getTransferData(DataFlavor.plainTextFlavor)。9建议使用ALT_GRAPH_DOWN_MASK和InputEvent.getModifiersEx()代替。9建议使用ALT_DOWN_MASK和InputEvent.getModifiersEx()代替9建议使用BUTTON1_DOWN_MASK和InputEvent.getModifiersEx()代替9建议使用BUTTON2_DOWN_MASK和InputEvent.getModifiersEx()代替。请注意,BUTTON2_MASK的值与ALT_MASK相同。9建议使用BUTTON3_DOWN_MASK和InputEvent.getModifiersEx()代替。请注意,BUTTON3_MASK的值与META_MASK相同。9建议使用CTRL_DOWN_MASK和InputEvent.getModifiersEx()代替9建议使用META_DOWN_MASK和InputEvent.getModifiersEx()代替9建议使用SHIFT_DOWN_MASK和InputEvent.getModifiersEx()代替替换为Cursor.CROSSHAIR_CURSOR。替换为Cursor.DEFAULT_CURSOR。替换为Cursor.E_RESIZE_CURSOR。替换为Cursor.HAND_CURSOR。替换为Cursor.MOVE_CURSOR。替换为Cursor.N_RESIZE_CURSOR。替换为Cursor.NE_RESIZE_CURSOR。替换为Cursor.NW_RESIZE_CURSOR。替换为Cursor.S_RESIZE_CURSOR。替换为Cursor.SE_RESIZE_CURSOR。替换为Cursor.SW_RESIZE_CURSOR。替换为Cursor.TEXT_CURSOR。替换为Cursor.W_RESIZE_CURSOR。替换为Cursor.WAIT_CURSOR。17此字段早于通用异常链接机制。现在,推荐使用Throwable.getCause()方法来获取此信息。1.5请使用Character.UnicodeBlock.HIGH_SURROGATES、Character.UnicodeBlock.HIGH_PRIVATE_USE_SURROGATES和Character.UnicodeBlock.LOW_SURROGATES代替SURROGATES_AREA。这些常量与Unicode标准的块定义相匹配。Character.UnicodeBlock.of(char)和Character.UnicodeBlock.of(int)方法返回标准常量。9请使用RoundingMode.CEILING代替。9请使用RoundingMode.DOWN代替。9请使用RoundingMode.FLOOR代替。9请使用RoundingMode.HALF_DOWN代替。9请使用RoundingMode.HALF_EVEN代替。9请使用RoundingMode.HALF_UP代替。9请使用RoundingMode.UNNECESSARY代替。9请使用RoundingMode.UP代替。它被放错位置,不应存在。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。19此字段使用PKCS#1标准中定义的默认值。由于密码分析的进展,不再推荐使用其中一些默认值--请参阅PKCS#1 v2.2标准以获取更多详细信息。因此,建议使用PSSParameterSpec(String, String, AlgorithmParameterSpec, int, int)构造函数使用所需的参数值创建新的PSSParameterSpec。不再支持扩展机制。不再支持扩展机制。不再支持扩展机制。此字段的初始化容易导致死锁。该字段必须由Logger类初始化,这可能会导致与LogManager类初始化的死锁。在这种情况下,两个类初始化等待对方完成。获取全局记录器对象的首选方法是通过调用Logger.getGlobal()。为了与旧的JDK版本兼容,在旧版本中Logger.getGlobal()不可用时,使用调用Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)或Logger.getLogger("global")。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。19此字段使用PKCS#1标准中定义的默认值。由于密码分析的进展,请参阅PKCS#1的附录B.1以获取更多详细信息。因此,建议使用OAEPParameterSpec(String, String, AlgorithmParameterSpec, PSource)构造函数使用所需的参数值创建新的OAEPParameterSpec。不要使用此字段,直接创建等效数组{ ImageInputStream.class }。不要使用此字段,直接创建等效数组{ ImageOutputStream.class }。等同于Monitor.alreadyNotifieds[0]。无替代。请使用ALLOWED_CLASSNAMES_LIST代替。9在构建初始上下文时,将忽略具有此名称的环境属性。此常量最初用作属性名称,用于指定从Applet中检索参数以创建初始上下文。当前,需要传递给初始上下文的任何applet属性应复制到环境哈希表中:Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, ((Applet) this).getParameter(Context.INITIAL_CONTEXT_FACTORY)); env.put(Context.PROVIDER_URL, ((Applet) this).getParameter(Context.PROVIDER_URL)); // ... other properties ... Context ctx = new InitialContext(env);接口中的serialVersionUID字段是无效的。不要使用;无替代。接口中的serialVersionUID字段是无效的。不要使用;无替代。由于此字段是final的(它是接口的一部分),其值无法更改。自1.8起自1.8起自Java 2平台v1.3起自1.3起自1.3起自1.3起自1.3起自1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起自Java 2平台v1.3起从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从Java 2平台v1.3开始。从1.3开始,值来自UIManager属性FormView.resetButtonText从1.3开始,值现在来自UIManager属性FormView.submitButtonText
-
Deprecated MethodsMethodDeprecated inDescription15基于JVM TI的JDWP后端永远不会将此功能设置为true。15基于JVM TI的JDWP后端永远不会将此功能设置为true。14请使用
OperatingSystemMXBean.getFreeMemorySize()代替这个历史命名的方法。14请使用OperatingSystemMXBean.getCpuLoad()代替这个历史命名的方法。14请使用OperatingSystemMXBean.getTotalMemorySize()代替这个历史命名的方法。替换为addLayoutComponent(Component, Object)。替换为addLayoutComponent(Component, Object)。从JDK版本1.1开始,替换为getSelectedCheckbox()。从JDK版本1.1开始,替换为setSelectedCheckbox(Checkbox)。从JDK版本1.1开始,替换为getItemCount()。从JDK版本1.1开始,应该在触发动作事件的组件上将此组件注册为ActionListener。从JDK版本1.1开始,替换为getBounds()。从JDK版本1.1开始,替换为dispatchEvent(AWTEvent e)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为processFocusEvent(FocusEvent)。从JDK版本1.1开始替换为processEvent(AWTEvent)。从JDK版本1.1开始,替换为setVisible(boolean)。从JDK版本1.1开始,替换为contains(int, int)。从1.4开始,替换为isFocusable()。从JDK版本1.1开始,替换为processKeyEvent(KeyEvent)。从JDK版本1.1开始,替换为processKeyEvent(KeyEvent)。从JDK版本1.1开始,替换为doLayout()。从JDK版本1.1开始,替换为getComponentAt(int, int)。从JDK版本1.1开始,替换为getLocation()。从JDK版本1.1开始,替换为processFocusEvent(FocusEvent)。从JDK版本1.1开始,替换为getMinimumSize()。从JDK版本1.1开始,替换为processMouseEvent(MouseEvent)。从JDK版本1.1开始,替换为processMouseMotionEvent(MouseEvent)。从JDK版本1.1开始,替换为processMouseEvent(MouseEvent)。从JDK版本1.1开始,替换为processMouseEvent(MouseEvent)。从JDK版本1.1开始,替换为processMouseMotionEvent(MouseEvent)。从JDK版本1.1开始,替换为processMouseEvent(MouseEvent)。从JDK版本1.1开始,替换为setLocation(int, int)。从JDK版本1.1开始,替换为transferFocus()。从JDK版本1.1开始,替换为dispatchEvent(AWTEvent)。从JDK版本1.1开始,替换为getPreferredSize()。从JDK版本1.1开始,替换为setBounds(int, int, int, int)。从JDK版本1.1开始,替换为setSize(int, int)。从JDK版本1.1开始,替换为setSize(Dimension)。从JDK版本1.1开始,替换为setVisible(boolean)。从JDK版本1.1开始,替换为setVisible(boolean)。从JDK版本1.1开始,替换为getSize()。从J2SE 1.4开始,使用ComponentOrientation.getOrientation(java.util.Locale)。从JDK版本1.1开始,替换为getComponentCount()。从JDK版本1.1开始,替换为dispatchEvent(AWTEvent e)。从JDK版本1.1开始,替换为getInsets()。从JDK版本1.1开始,替换为doLayout()。从JDK版本1.1开始,替换为getComponentAt(int, int)。从JDK版本1.1开始,替换为getMinimumSize()。从JDK版本1.1开始,替换为getPreferredSize()。与hashCode()合同不一致,使用DataFlavor.isMimeTypeEqual(String)代替。从1.1版本开始,此实现不会调用此方法从1.1版本开始,此实现不会调用此方法从JDK版本1.5开始,替换为setVisible(boolean)。从JDK版本1.5开始,替换为setVisible(boolean)。9建议使用扩展修饰键和InputEvent.getModifiersEx()代替9建议使用扩展修饰键和InputEvent.getModifiersExText(int)代替从JDK1.1.4开始从JDK版本1.1.1开始,替换为getMaxDescent()。从JDK版本1.1开始,替换为Component.getCursor()。从JDK版本1.1开始,替换为Component.setCursor(Cursor)。9终结已被弃用以移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。从JDK版本1.1开始,替换为getClipBounds()。替换为concatenateTransform(AffineTransform)。替换为preConcatenateTransform(AffineTransform)。替换为add(String)。替换为add(String, int)。从JDK版本1.1开始,替换为isMultipleMode()。从JDK版本1.1开始,替换为removeAll()。从JDK版本1.1开始,替换为getItemCount()。替换为remove(String)和remove(int)。从JDK版本1.1开始,将来不适用于公共使用。预计此方法仅作为包私有方法保留。从JDK版本1.1开始,替换为isIndexSelected(int)。从JDK版本1.1开始,替换为getMinimumSize()。从JDK版本1.1开始,替换为getMinimumSize(int)。从JDK版本1.1开始,替换为getPreferredSize()。从JDK版本1.1开始,替换为getPreferredSize(int)。从JDK版本1.1开始,替换为setMultipleMode(boolean)。从JDK版本1.1开始,替换为getItemCount()。从JDK版本1.1开始,替换为getMenuCount()。从JDK版本1.1开始,替换为dispatchEvent。从JDK版本1.1开始替换为dispatchEvent(AWTEvent)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为setEnabled(boolean)。从JDK版本1.1开始,替换为getBounds()。从JDK版本1.1开始,替换为contains(int, int)。9终结已被弃用以移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。从JDK版本1.1开始,替换为contains(int, int)。从JDK版本1.1开始,替换为setLocation(int, int)。从JDK版本1.1开始,替换为setBounds(int, int, int, int)。从JDK版本1.1开始,替换为setSize(int, int)。从JDK版本1.1开始,替换为getUnitIncrement()。从JDK版本1.1开始,替换为getBlockIncrement()。从JDK版本1.1开始,已被getVisibleAmount()替换。从JDK版本1.1开始,已被setUnitIncrement(int)替换。从JDK版本1.1开始,已被setBlockIncrement()替换。从JDK版本1.1开始,已被doLayout()替换。从JDK版本1.1开始,已被append(String)替换。从JDK版本1.1开始,已被insert(String, int)替换。从JDK版本1.1开始,已被getMinimumSize()替换。从JDK版本1.1开始,已被getMinimumSize(int, int)替换。从JDK版本1.1开始,已被getPreferredSize()替换。从JDK版本1.1开始,已被getPreferredSize(int, int)替换。从JDK版本1.1开始,已被replaceRange(String, int, int)替换。从JDK版本1.1开始,已被getMinimumSize()替换。从JDK版本1.1开始,已被getMinimumSize(int)替换。从JDK版本1.1开始,已被getPreferredSize()替换。从JDK版本1.1开始,已被getPreferredSize(int)替换。从JDK版本1.1开始,已被setEchoChar(char)替换。从JDK版本1.2开始,已被Font方法getLineMetrics替换。10建议使用扩展修饰键和Toolkit.getMenuShortcutKeyMaskEx()代替从J2SE 1.4开始,已被Component.applyComponentOrientation替换。从J2SE 1.4开始,已被Component.applyComponentOrientation替换。从JDK版本1.5开始,已被Window.setVisible(boolean)替换。从JDK版本1.1开始,已被dispatchEvent(AWTEvent)替换。从JDK版本1.1开始,已被setBounds(int, int, int, int)替换。从JDK版本1.5开始,已被Window.setVisible(boolean)替换。9建议使用Beans.instantiate(ClassLoader, String, BeanContext),因为Applet API已被弃用。有关更多信息,请参阅java.applet包文档。此方法未正确将字节转换为字符。从JDK 1.1开始,推荐使用ByteArrayOutputStream.toString(String charsetName)或ByteArrayOutputStream.toString(Charset charset)方法,该方法接受编码名称或字符集参数,或使用默认字符集的toString()方法。此方法未正确将字节转换为字符。从JDK 1.1开始,建议通过BufferedReader.readLine()方法读取文本行。使用DataInputStream类读取行的程序可以通过替换以下形式的代码将其转换为使用BufferedReader类:
替换为:DataInputStream d = new DataInputStream(in);
BufferedReader d = new BufferedReader(new InputStreamReader(in));此方法不会自动转义URL中的非法字符。建议新代码通过首先将抽象路径名转换为URI(通过toURI方法),然后通过URI.toURL方法将URI转换为URL。此方法未正确将字节转换为字符。有关详细信息和替代方案,请参阅DataInputStream。此方法未以正确格式写入此PutField对象中包含的值,可能导致序列化流的损坏。正确的写入PutField数据的方法是调用ObjectOutputStream.writeFields()方法。1.1替换为isJavaIdentifierStart(char)。1.1替换为isJavaIdentifierPart(char)。1.1替换为isWhitespace(char)。9此方法传播由无参数构造函数抛出的任何异常,包括已检查的异常。使用此方法实际上绕过了编译时异常检查,否则编译器将执行。Constructor.newInstance方法通过将构造函数抛出的任何异常包装在(已检查的)InvocationTargetException中来避免此问题。调用
可以替换为clazz.newInstance()后续调用序列被推断能够抛出额外的异常类型clazz.getDeclaredConstructor().newInstance()InvocationTargetException和NoSuchMethodException。这两种异常类型都是ReflectiveOperationException的子类。1.19如果多个类加载器相互委托并使用相同的包名称定义类,并且其中一个加载器依赖于getPackage的查找行为从父加载器返回Package,则Package暴露的属性在程序的其余部分可能不符合预期。例如,Package仅会从父加载器定义的package-info.class文件中公开注释,即使在子加载器定义的package-info.class文件中存在注释。更健壮的方法是使用ClassLoader.getDefinedPackage(java.lang.String)方法,该方法为指定的类加载器返回一个Package。18终结已被弃用以供移除。有关背景信息和迁移选项的详细信息,请参见Object.finalize()。14此方法最初设计用于测试意味着完全特权访问的PRIVATE访问,但MODULE访问已经独立于PRIVATE访问。建议调用MethodHandles.Lookup.hasFullPrivilegeAccess()。18终结已被弃用以供移除。有关详细信息,请参见Object.finalize()。9终结已被弃用,并可能在将来的版本中被移除。使用终结可能会导致安全性、性能和可靠性问题。请参阅JEP 421以获取讨论和替代方案。重写
finalize以执行清理的子类应使用替代的清理机制并移除finalize方法。使用Cleaner和PhantomReference作为释放对象变得不可达时更安全的方式释放资源。或者,添加一个close方法来显式释放资源,并实现AutoCloseable以启用try-with-resources语句的使用。此方法将保留到大多数现有代码中的终结器已被移除为止。
9如果多个类加载器相互委托并使用相同的包名称定义类,并且其中一个加载器依赖于getPackage的查找行为从父加载器返回Package,则Package暴露的属性在程序的其余部分可能不符合预期。例如,Package仅会从父加载器定义的package-info.class文件中公开注释,即使在子加载器定义的package-info.class文件中存在注释。更健壮的方法是使用ClassLoader.getDefinedPackage(java.lang.String)方法,该方法为指定的类加载器返回一个Package。16该方法最初被指定为测试引用对象是否已被清除和入队,但从未实现此测试。由于固有的竞争条件或没有关联的ReferenceQueue,该方法可能被误用。依赖此方法释放关键资源的应用程序可能会导致严重的性能问题。应用程序应使用java.lang.ref中的ReferenceQueue可靠地确定已入队的引用对象,或使用refersTo(null)来确定此引用对象是否已被清除。9该方法已被弃用,因为其名称暗示检查反射对象是否可访问,实际上指示是否抑制了Java语言访问控制的检查。在对调用者可访问的反射对象上,此方法可能返回false。要测试此反射对象是否可访问,应使用AccessibleObject.canAccess(Object)。在命名模块中生成的代理类是封装的,对其模块外的代码不可访问。当在不可访问的代理类上调用Constructor.newInstance时,将抛出IllegalAccessException。应改用Proxy.newProxyInstance(ClassLoader, Class[], InvocationHandler)来创建代理实例。18该方法存在错误风险,不应使用,应改用对应的方法Runtime.exec(String[])或ProcessBuilder。命令字符串仅使用空格字符分隔为标记。对于包含嵌入空格的参数(例如文件名),这可能会导致问题,因为标记不包括完整文件名。18该方法存在错误风险,不应使用,应改用对应的方法Runtime.exec(String[], String[])或ProcessBuilder。命令字符串仅使用空格字符分隔为标记。对于包含嵌入空格的参数(例如文件名),这可能会导致问题,因为标记不包括完整文件名。18该方法存在错误风险,不应使用,应改用对应的方法Runtime.exec(String[], String[], File)或ProcessBuilder。命令字符串仅使用空格字符分隔为标记。对于包含嵌入空格的参数(例如文件名),这可能会导致问题,因为标记不包括完整文件名。18终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。在禁用或移除终结的JVM中运行时,不会有对象处于待终结状态,因此此方法不执行任何操作。
10从Java SE 10开始,版本号的第一个元素不是主要发布号,而是特性发布计数器,每次基于时间的发布都会递增。应优先使用Runtime.Version.feature()方法。为了兼容性,此方法返回feature元素的值。10从Java SE 10开始,版本号的第二个元素不是次要发布号,而是临时发布计数器,每次临时发布都会递增。应优先使用Runtime.Version.interim()方法。为了兼容性,此方法返回interim元素的值,如果不存在则返回零。10从Java SE 10开始,版本号的第三个元素不是安全级别,而是更新发布计数器,每次更新发布都会递增。应优先使用Runtime.Version.update()方法。为了兼容性,此方法返回update元素的值,如果不存在则返回零。1.41.1该方法未正确将字符转换为字节。从JDK 1.1开始,最佳方法是通过String.getBytes()方法进行转换,该方法使用默认字符集。17该方法仅在与Security Manager结合使用时才有用,Security Manager已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。Security Manager或此方法没有替代方案。18终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。在禁用或移除终结的JVM中运行时,不会有对象处于待终结状态,因此此方法不执行任何操作。
17该方法仅在与Security Manager结合使用时才有用,Security Manager已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。Security Manager或此方法没有替代方案。17该方法仅在与Security Manager结合使用时才有用,Security Manager已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。Security Manager或此方法没有替代方案。1.2该方法最初设计用于计算堆栈帧的数量,但结果从未被明确定义,并且依赖于线程挂起。该方法可能在未来的Java SE版本中被移除。19该方法不是最终的,可能被覆盖以返回非线程ID的值。应改用Thread.threadId()。1.2该方法最初被指定为恢复使用Thread.suspend()挂起的线程。挂起线程固有地容易产生死锁。有关更多信息,请参阅为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。1.2该方法最初被指定为通过使受影响线程抛出ThreadDeath来“停止”受影响线程。这是不安全的。停止线程会导致它解锁所有已锁定的监视器(作为ThreadDeath异常向上传播到堆栈的自然结果)。如果先前由这些监视器保护的任何对象处于不一致状态,则受损对象会对其他线程可见,可能导致任意行为。对stop的用法应替换为仅修改某些变量以指示目标线程应停止运行的代码。目标线程应定期检查此变量,并且如果变量指示应停止运行,则应从其运行方法中有序返回。如果目标线程等待长时间(例如在条件变量上),应使用interrupt方法来中断等待。有关更多信息,请参阅为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。1.2该方法最初被指定为挂起线程。挂起线程固有地容易产生死锁。如果目标线程在挂起时持有保护关键系统资源的监视器锁,则在目标线程恢复之前,没有线程可以访问该资源。如果意图恢复目标线程的线程在调用resume之前尝试锁定监视器,则将导致死锁。这种死锁通常表现为“冻结”进程。有关更多信息,请参阅为什么Thread.stop、Thread.suspend和Thread.resume已被弃用?。17该方法仅在与Security Manager结合使用时才有用,Security Manager已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。Security Manager或此方法没有替代方案。16该方法最初被指定为销毁空线程组。现在不再存在显式销毁线程组的能力。当线程组中没有活动线程且无法访问时,线程组就可以被GC回收。16该方法最初指示线程组是否为守护线程组,当其最后一个线程终止时会自动销毁。现在不再存在守护线程组的概念。当线程组中没有活动线程且无法访问时,线程组就可以被GC回收。16该方法最初指示线程组是否已销毁。现在不再存在销毁线程组的能力和销毁线程组的概念。当线程组中没有活动线程且无法访问时,线程组就可以被GC回收。1.2该方法最初被指定为恢复线程组中的所有线程。16该方法最初配置了线程组是否为守护线程组,当其最后一个线程终止时会自动销毁。守护线程组的概念不再存在。当线程组中没有活动线程且不可达时,线程组就可以被GC回收。1.2该方法最初被指定为停止线程组中的所有线程。这本质上是不安全的。1.2该方法最初被指定为挂起线程组中的所有线程。9应优先使用BigDecimal.divide(BigDecimal, RoundingMode)方法,而不是使用这个遗留方法。9应优先使用BigDecimal.divide(BigDecimal, int, RoundingMode)方法,而不是使用这个遗留方法。9应优先使用BigDecimal.setScale(int, RoundingMode)方法,而不是使用这个遗留方法。17使用DatagramChannel,或直接子类化DatagramSocket。
该方法在早期JDK版本中提供了一种替换系统范围实现DatagramSocket的方式。自Java 1.4以来,它已基本过时。如果需要,可以通过扩展DatagramSocket并使用接受java.net.DatagramSocketImpl作为参数的受保护的构造函数来创建DatagramSocket以使用自定义实现。使用getTimeToLive代替。使用setTimeToLive代替。14通过返回的InetAddress可能无法唯一标识网络接口。应使用MulticastSocket.getNetworkInterface()。14使用返回一个int而不是byte的方法MulticastSocket.getTimeToLive()代替。14该方法不接受加入多播组的网络接口。应使用MulticastSocket.joinGroup(SocketAddress, NetworkInterface)。14该方法不接受离开多播组的网络接口。应使用MulticastSocket.leaveGroup(SocketAddress, NetworkInterface)。使用以下代码或其等效代码代替:...... int ttl = mcastSocket.getOption(StandardSocketOptions.IP_MULTICAST_TTL); mcastSocket.setOption(StandardSocketOptions.IP_MULTICAST_TTL, newttl); mcastSocket.send(p); mcastSocket.setOption(StandardSocketOptions.IP_MULTICAST_TTL, ttl); ......14InetAddress可能无法唯一标识网络接口。应使用MulticastSocket.setNetworkInterface(NetworkInterface)。14使用DatagramSocket.setOption(SocketOption, Object)与StandardSocketOptions.IP_MULTICAST_LOOP代替。默认情况下启用回环模式,MulticastSocket.setOption(StandardSocketOptions.IP_MULTICAST_LOOP, false)可禁用它。使用返回一个int而不是byte的方法MulticastSocket.setTimeToLive(int)代替。17使用ServerSocketFactory,并直接子类化ServerSocket。
该方法在早期JDK版本中提供了一种替换系统范围实现ServerSocket的方式。自Java 1.4以来,它已基本过时。如果需要,可以通过扩展ServerSocket并使用接受java.net.SocketImpl作为参数的受保护的构造函数来创建ServerSocket以使用自定义实现。17使用SocketFactory,并直接子类化Socket。
该方法在早期JDK版本中提供了一种替换系统范围实现Socket的方式。自Java 1.4以来,它已基本过时。如果需要,可以通过扩展Socket并使用接受java.net.SocketImpl作为参数的受保护的构造函数来创建Socket以使用自定义实现。在获取适当的URLConnection实例后,应使用特定于实例的getRequestProperty方法。在获取适当的URLConnection实例后,应使用特定于实例的setRequestProperty方法。调用此方法将不会产生任何效果。结果字符串可能会因默认字符集而异。应使用decode(String,String)方法来指定编码。结果字符串可能会因默认字符集而异。应使用encode(String,String)方法来指定编码。使用setURL(URL, String, String, int, String, String, String, String)。没有替代方法。从Java 2平台v1.2开始,RMI不再使用RegistryHandler来获取注册表的实现。没有替代方法。从Java 2平台v1.2开始,RMI不再使用RegistryHandler来获取注册表的存根。没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法没有替代方法1.2风格的存根不再使用这个方法。而不是在存根的远程引用上使用一系列方法调用(newCall、invoke和done),存根使用远程引用上的单个方法invoke(Remote, Method, Object[], int)来进行参数编组、远程方法执行和返回值的解组。1.2风格的存根不再使用这个方法。而不是在存根的远程引用上使用一系列方法调用(newCall、invoke和done),存根使用远程引用上的单个方法invoke(Remote, Method, Object[], int)来进行参数编组、远程方法执行和返回值的解组。1.2风格的存根不再使用这个方法。而不是在存根的远程引用上使用一系列方法调用(newCall、invoke和done),存根使用远程引用上的单个方法invoke(Remote, Method, Object[], int)来进行参数编组、远程方法执行和返回值的解组。没有替代方法。从Java 2平台v1.2开始,RMI不再使用这个方法来获取类加载器的安全上下文。被loadClass(String,String)方法替代没有替代方法没有替代方法该方法已被弃用,因为它仅支持静态存根。应使用exportObject(Remote, port)或exportObject(Remote, port, csf, ssf)。161616使用X509CertSelector.getIssuer()或X509CertSelector.getIssuerAsBytes()替代。不应依赖此方法,因为由于某些专有名称的 RFC 2253 字符串形式中的编码信息丢失,可能无法匹配某些证书。16使用X509CertSelector.getSubject()或X509CertSelector.getSubjectAsBytes()替代。不应依赖此方法,因为由于某些专有名称的 RFC 2253 字符串形式中的编码信息丢失,可能无法匹配某些证书。16使用X509CertSelector.setIssuer(X500Principal)或X509CertSelector.setIssuer(byte[])替代。不应依赖此方法,因为由于某些专有名称的 RFC 2253 字符串形式中的编码信息丢失,可能无法匹配某些证书。16使用X509CertSelector.setSubject(X500Principal)或X509CertSelector.setSubject(byte[])替代。不应依赖此方法,因为由于某些专有名称的 RFC 2253 字符串形式中的编码信息丢失,可能无法匹配某些证书。1616使用X509CRLSelector.addIssuer(X500Principal)或X509CRLSelector.addIssuerName(byte[])替代。不应依赖此方法,因为由于某些专有名称的 RFC 2253 字符串形式中的编码信息丢失,可能无法匹配某些 CRL。9此方法曾返回“SUN”加密服务提供程序主文件中专有属性的值,以确定如何解析特定算法参数。应使用新的基于提供程序且与算法无关的AlgorithmParameters和KeyFactory引擎类(在 J2SE 版本 1.2 平台中引入)替代。使用setParameter。1.2使用getBigDecimal(int parameterIndex)或getBigDecimal(String parameterName)1.21.21.21.21.21.21.2使用getLogWriter1.2使用setLogWriter1.2使用setCharacterStream1.2使用getBigDecimal(int columnIndex)或getBigDecimal(String columnLabel)1.2使用getBigDecimal(int columnIndex)或getBigDecimal(String columnLabel)1.2使用getCharacterStream替代getUnicodeStream1.2使用getCharacterStream替代1.21.21.21.21.21.21.29此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicBoolean.compareAndExchange(boolean, boolean)和AtomicBoolean.compareAndSet(boolean, boolean)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicBoolean.weakCompareAndSetPlain(boolean, boolean)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicInteger.compareAndExchange(int, int)和AtomicInteger.compareAndSet(int, int)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicInteger.weakCompareAndSetPlain(int, int)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicIntegerArray.compareAndExchange(int, int, int)和AtomicIntegerArray.compareAndSet(int, int, int)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicIntegerArray.weakCompareAndSetPlain(int, int, int)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicLong.compareAndExchange(long, long)和AtomicLong.compareAndSet(long, long)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicLong.weakCompareAndSetPlain(long, long)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicLongArray.compareAndExchange(int, long, long)和AtomicLongArray.compareAndSet(int, long, long)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicLongArray.weakCompareAndSetPlain(int, long, long)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicReference.compareAndExchange(V, V)和AtomicReference.compareAndSet(V, V)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicReference.weakCompareAndSetPlain(V, V)。9此方法具有普通内存效果,但方法名称暗示具有易失性内存效果(请参阅诸如AtomicReferenceArray.compareAndExchange(int, E, E)和AtomicReferenceArray.compareAndSet(int, E, E)等方法)。为避免普通或易失性内存效果的混淆,建议使用方法AtomicReferenceArray.weakCompareAndSetPlain(int, E, E)。17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。安全管理器或此方法没有替代方案。17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。安全管理器或此方法没有替代方案。17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。安全管理器或此方法没有替代方案。9终结已被弃用并将被移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.DAY_OF_MONTH)替代。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.DAY_OF_WEEK)替代。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.HOUR_OF_DAY)替代。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.MINUTE)替代。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.MONTH)替代。从 JDK 版本 1.1 开始,已被Calendar.get(Calendar.SECOND)替代。从 JDK 版本 1.1 开始,已被-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)替代。从JDK版本1.1开始,已被Calendar.get(Calendar.YEAR) - 1900替换。从JDK版本1.1开始,已被DateFormat.parse(String s)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.DAY_OF_MONTH, int date)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.HOUR_OF_DAY, int hours)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.MINUTE, int minutes)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.MONTH, int month)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.SECOND, int seconds)替换。从JDK版本1.1开始,已被Calendar.set(Calendar.YEAR, year + 1900)替换。从JDK版本1.1开始,已被DateFormat.format(Date date)替换,使用GMTTimeZone。从JDK版本1.1开始,已被DateFormat.format(Date date)替换。从JDK版本1.1开始,已被Calendar.set(year + 1900, month, date, hrs, min, sec)或GregorianCalendar(year + 1900, month, date, hrs, min, sec)替换,使用UTCTimeZone,然后使用Calendar.getTime().getTime()。17此方法仅在与安全管理器一起使用时有用,安全管理器已被弃用并可能在将来的版本中移除。因此,此方法也已被弃用并可能被移除。安全管理器或此方法均无替代方案。9java.util.logging.LoggingMXBean已被弃用,并替换为java.lang.management.PlatformLoggingMXBean。使用ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class)替代。16此方法返回的值可能是合成的,可能不对应实际的线程ID,请使用LogRecord.getLongThreadID()替代。16此方法不允许传递长的线程ID,请使用LogRecord.setLongThreadID(long)替代。如果在保存属性列表时发生I/O错误,此方法不会抛出IOException。最好的保存属性列表的方法是通过store(OutputStream out, String comments)方法或storeToXML(OutputStream os, String comment)方法。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。9终结已被弃用以供移除。请参阅Object.finalize()获取背景信息和迁移选项的详细信息。此方法无效果。用于获取属性值的MBean服务器是QueryEval.getMBeanServer()。1.5使用MBeanServer.getClassLoaderRepository()获取类加载器存储库,并用于反序列化。1.5使用getClassLoader获取用于反序列化的类加载器。1.5使用getClassLoaderFor获取适当的类加载器用于反序列化。从JMX 1.2开始,已被CounterMonitor.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,已被CounterMonitor.getDerivedGaugeTimeStamp(ObjectName)替代。从JMX 1.2开始,已被CounterMonitor.getThreshold(ObjectName)替代。从JMX 1.2开始,已被CounterMonitor.setInitThreshold(java.lang.Number)替代。从JMX 1.2开始,已被CounterMonitorMBean.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,已被CounterMonitorMBean.getDerivedGaugeTimeStamp(ObjectName)替代。从JMX 1.2开始,已被CounterMonitorMBean.getThreshold(ObjectName)替代。从JMX 1.2开始,已被CounterMonitorMBean.setInitThreshold(java.lang.Number)替代。从JMX 1.2开始,已被GaugeMonitor.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,已被GaugeMonitor.getDerivedGaugeTimeStamp(ObjectName)替代。从JMX 1.2开始,已被GaugeMonitorMBean.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,已被GaugeMonitorMBean.getDerivedGaugeTimeStamp(ObjectName)替代。从JMX 1.2开始,已被Monitor.getObservedObjects()替代。从JMX 1.2开始,已被Monitor.addObservedObject(javax.management.ObjectName)替代。从JMX 1.2开始,已被MonitorMBean.getObservedObjects()替代。从JMX 1.2开始,已被MonitorMBean.addObservedObject(javax.management.ObjectName)替代。从JMX 1.2开始,已被StringMonitor.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,已被StringMonitor.getDerivedGaugeTimeStamp(ObjectName)替代。从JMX 1.2开始,已被StringMonitorMBean.getDerivedGauge(ObjectName)替代。从JMX 1.2开始,被StringMonitorMBean.getDerivedGaugeTimeStamp(ObjectName)替代21该方法支持传统的Subject Delegation功能,仅在与其他已弃用且将在未来版本中删除的API一起使用时才有用。因此,该方法也已被弃用并将被删除。没有替代方法。该方法不需要,因为ValueExp可以通过QueryEval.getMBeanServer()访问正在评估的MBean服务器。9应使用返回java.security.cert.Certificate数组的HandshakeCompletedEvent.getPeerCertificates()方法。9应使用返回java.security.cert.Certificate数组的SSLSession.getPeerCertificates()方法。18该方法依赖于AccessControlContext,与Security Manager一起使用,已被弃用并将在未来版本中删除。但是,作为Subject执行工作是独立于Security Manager有用的。因此,已添加了一个名为Subject.callAs(javax.security.auth.Subject, java.util.concurrent.Callable<T>)的替代API,可用于执行相同的工作。18该方法依赖于AccessControlContext,与Security Manager一起使用,已被弃用并将在未来版本中删除。但是,作为Subject执行工作是独立于Security Manager有用的。因此,已添加了一个名为Subject.callAs(javax.security.auth.Subject, java.util.concurrent.Callable<T>)的替代API,可用于执行相同的工作。17该方法仅在与Security Manager一起使用时才有用,该Security Manager已被弃用并将在未来版本中删除。因此,该方法也已被弃用并将被删除。Security Manager或该方法没有替代方法。17该方法仅在与Security Manager一起使用时才有用,该Security Manager已被弃用并将在未来版本中删除。因此,该方法也已被弃用并将被删除。Security Manager或该方法没有替代方法。17该方法依赖于AccessControlContext,与Security Manager一起使用,已被弃用并将在未来版本中删除。但是,获取Subject是独立于Security Manager有用的。因此,已添加了一个名为Subject.current()的替代API,可用于获取当前主题。应使用getCharacterStream代替- 替换为getText- 替换为setText(text)自1.4起,替换为KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy)自1.4起,替换为KeyboardFocusManager.getDefaultFocusTraversalPolicy()9自JDK版本1.1起,替换为java.awt.Component.setEnabled(boolean)。自JDK版本1.1起,替换为java.awt.Component.setEnabled(boolean)。自1.4起,替换为FocusTraversalPolicy。自1.4起,替换为Component.setFocusTraversalKeys(int, Set)和Container.setFocusCycleRoot(boolean)。自1.4起,替换为FocusTraversalPolicy.getDefaultComponent(Container).requestFocus()自JDK 5起,替换为Component.setBounds(int, int, int, int)。移动并调整此组件。
自1.4起,替换为FocusTraversalPolicy自Swing版本1.0.3起,替换为getJMenuBar()。自Swing版本1.0.3起,替换为setJMenuBar(JMenuBar m)。自JDK 1.7起,替换为JList.getSelectedValuesList()替换为getComponent(int i)自Java 2平台v1.2起,替换为getPassword。自Java 2平台v1.2起,替换为getPassword。自Swing版本1.0.3起,替换为getJMenuBar()。自Swing版本1.0.3起,替换为setJMenuBar(JMenuBar menu)。自Swing版本1.0.2起,替换为new JScrollPane(aTable)。自Swing版本1.0.3起,替换为doLayout()。自Java 2平台v1.3起,替换为getScrollMode()。自Java 2平台v1.3起,替换为setScrollMode()。使用getKeyStroke(char)17已过时的方法,不再使用。17已过时的方法,不再使用。17已过时的方法,不再使用。自Java 2平台v1.3起。自Java 2平台v1.3起。自Java 2平台v1.3起。自Java 2平台v1.3起。自Java 2平台v1.3起。自Java 2平台v1.3起,而不是在分隔符上设置边框。999917自Java 2平台v1.4起。自Java 2平台v1.4起。999921999999Applet API已被弃用。有关更多信息,请参阅java.applet包文档。从JDK版本开始,Swing1.1被JScrollPane.getViewportBorderBounds()替换。从1.4开始,被KeyboardFocusManager.getFocusOwner()替换。从Java 2平台v1.3开始从Java 2平台v1.3开始从Java 2平台v1.3开始,使用insertAtBoundary99在JDK中运行时,不使用FontMetrics进行字形渲染。999999表格单元现在可以是任意的View实现,并且应该由ViewFactory生成,而不是由表格生成。9999999999从JDK版本1.7开始13使用StandardJavaFileManager.getJavaFileObjectsFromPaths(Collection)来替代,以防止意外使用单个Path调用该方法。尽管Path实现了Iterable<Path>,但几乎从不正确地传递单个Path并将其视为其组件的Iterable。9该方法可能在未来的Java SE版本中被移除。使用system tool provider或service loader机制来定位系统工具以及用户安装的工具。1.7为了保持API一致性,该方法已被弃用。所有newInstance方法都已被相应的newFactory方法替换。替代方法XMLEventFactory.newFactory(java.lang.String, java.lang.ClassLoader)在行为上没有变化。1.7为了保持API一致性,该方法已被弃用。所有newInstance方法都已被相应的newFactory方法替换。替代方法XMLInputFactory.newFactory(java.lang.String, java.lang.ClassLoader)在行为上没有变化。1.7该方法已被弃用,因为它返回的是一个错误类的XMLInputFactory实例。请改用新方法XMLOutputFactory.newFactory(java.lang.String, java.lang.ClassLoader)。1616161616161611从RFC 8353中删除了基于流的方法。使用GSSContext.acceptSecContext(byte[], int, int)替代。11从RFC 8353中删除了基于流的方法。使用GSSContext.getMIC(byte[], int, int, MessageProp)替代。11从RFC 8353中删除了基于流的方法。使用GSSContext.initSecContext(byte[], int, int)替代。11从RFC 8353中删除了基于流的方法。使用GSSContext.unwrap(byte[], int, int, MessageProp)替代。11从RFC 8353中删除了基于流的方法。使用GSSContext.verifyMIC(byte[], int, int, byte[], int, int, MessageProp)替代。11从RFC 8353中删除了基于流的方法。使用GSSContext.wrap(byte[], int, int, MessageProp)替代。
-
Deprecated ConstructorsConstructorDeprecated inDescription16169建议使用
AWTEvent(Object, int)代替从JDK1.1开始;使用KeyEvent(Component, int, long, int, int, char)代替从JDK版本1.1开始,将输入流标记为字符流的首选方法是将其转换为字符流,例如:Reader r = new BufferedReader(new InputStreamReader(is)); StreamTokenizer st = new StreamTokenizer(r);9很少有情况适合使用此构造函数。通常更好的选择是静态工厂Boolean.valueOf(boolean),因为它可能会在空间和时间性能上产生显著的改进。如果可能的话,还可以考虑使用final字段Boolean.TRUE和Boolean.FALSE。9很少有情况适合使用此构造函数。使用Boolean.parseBoolean(String)将字符串转换为boolean基本类型,或者使用Boolean.valueOf(String)将字符串转换为Boolean对象。9很少有情况适合使用此构造函数。通常更好的选择是静态工厂Byte.valueOf(byte),因为它可能会在空间和时间性能上产生显著的改进。99很少有情况适合使用此构造函数。通常更好的选择是静态工厂Character.valueOf(char),因为它可能会在空间和时间性能上产生显著的改进。9很少有情况适合使用此构造函数。通常更好的选择是静态工厂Double.valueOf(double),因为它可能会在空间和时间性能上产生显著的改进。9很少有情况适合使用此构造函数。使用Double.parseDouble(String)将字符串转换为double基本类型,或者使用Double.valueOf(String)将字符串转换为Double对象。9很少有情况适合使用此构造函数。相反,应该使用静态工厂方法Float.valueOf(float),如下所示:Float.valueOf((float)value)。9很少有情况适合使用此构造函数。通常更好的选择是静态工厂Float.valueOf(float),因为它可能会在空间和时间性能上产生显著的改进。99很少有情况适合使用此构造函数。通常更好的选择是静态工厂Integer.valueOf(int),因为它可能会在空间和时间性能上产生显著的改进。9很少有情况适合使用此构造函数。使用Integer.parseInt(String)将字符串转换为int基本类型,或者使用Integer.valueOf(String)将字符串转换为Integer对象。9很少有情况适合使用此构造函数。通常更好的选择是静态工厂Long.valueOf(long),因为它可能会在空间和时间性能上产生显著的改进。9179很少有情况适合使用此构造函数。通常更好的选择是静态工厂Short.valueOf(short),因为它可能会在空间和时间性能上产生显著的改进。91.11.1请改用DatagramSocket进行UDP传输。请改用DatagramSocket进行UDP传输。20使用URI.toURL()构造URL的实例。有关更多详细信息,请参阅构造函数弃用的说明。20使用URI.toURL()构造URL的实例。有关更多详细信息,请参阅构造函数弃用的说明。20使用URL.of(URI, URLStreamHandler)构造与自定义协议处理程序关联的URL实例。有关更多详细信息,请参阅构造函数弃用的说明。20使用URI.toURL()构造URL的实例。有关更多详细信息,请参阅构造函数弃用的说明。20使用URI.toURL()构造URL的实例。有关更多详细信息,请参阅构造函数弃用的说明。20使用URL.of(URI, URLStreamHandler)构造与自定义协议处理程序关联的URL实例。有关更多详细信息,请参阅构造函数弃用的说明。无替代方案无替代方案无替代方案无替代方案无替代方案9919此构造函数使用PKCS#1标准中定义的默认值,除了盐长度。由于密码分析技术的进步,一些默认值不再推荐使用--请参阅PKCS#1 v2.2标准了解更多详细信息。因此,建议使用PSSParameterSpec(String, String, AlgorithmParameterSpec, int, int)构造函数明确指定所有所需的参数值。1.2请改用接受长整型日期的构造函数Date(long date)1.2请改用接受毫秒值的构造函数替代此构造函数1.2请改用接受毫秒值的构造函数Timestamp(long millis)从JDK版本1.1开始,替换为Calendar.set(year + 1900, month, date)或GregorianCalendar(year + 1900, month, date)。从JDK版本1.1开始,替换为Calendar.set(year + 1900, month, date, hrs, min)或GregorianCalendar(year + 1900, month, date, hrs, min)。从JDK版本1.1开始,替换为Calendar.set(year + 1900, month, date, hrs, min, sec)或GregorianCalendar(year + 1900, month, date, hrs, min, sec)。从JDK版本1.1开始,替换为DateFormat.parse(String s)。19Locale构造函数已被弃用。请参阅获取Locale以获取其他选项。19Locale构造函数已被弃用。请参阅获取Locale以获取其他选项。19Locale构造函数已被弃用。请参阅获取Locale以获取其他选项。9版本6已过时;请更新到更新版本级别的访问者。12版本7已过时;请更新到更新版本级别的访问者。9版本6已过时;请更新到更新版本级别的访问者。12版本7已过时;请更新到更新版本级别的访问者。9版本6已过时;请更新到更新版本级别的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。9版本 6 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。12版本 7 已过时;请更新到更高版本的访问者。使用此构造函数创建的实例无法在查询中使用。16
-
Deprecated Enum ConstantsEnum ConstantDeprecated inDescription截至 9,已被
InquireType.KRB5_GET_SESSION_KEY_EX替换,返回一个实现EncryptionKey接口并具有类似方法的SecretKey的实例,与KerberosKey。