JavaTM 2 Platform
Standard Ed. 5.0

已过时的 API


目录
已过时的字段
java.lang.SecurityManager.inCheck
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.Character.UnicodeBlock.SURROGATES_AREA
          从 J2SE 5 开始,使用 Character.UnicodeBlock.HIGH_SURROGATESCharacter.UnicodeBlock.HIGH_PRIVATE_USE_SURROGATESCharacter.UnicodeBlock.LOW_SURROGATES。这些新常量符合 Unicode 标准的块定义。Character.UnicodeBlock.of(char)Character.UnicodeBlock.of(int) 方法返回新常量,而不是 SURROGATES_AREA。 
 

已过时的方法
java.lang.ThreadGroup.allowThreadSuspension(boolean)
          此调用的定义取决于 ThreadGroup.suspend(),它被废弃了。更进一步地说,此调用的行为从不被指定。 
java.lang.SecurityManager.checkMulticast(InetAddress, byte)
          由 #checkPermission(java.security.Permission) 取代 
java.lang.SecurityManager.classDepth(String)
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.SecurityManager.classLoaderDepth()
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.Thread.countStackFrames()
          该调用的定义依赖于 Thread.suspend(),但它遭到了反对。此外,该调用的结果从来都不是意义明确的。 
java.lang.SecurityManager.currentClassLoader()
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.SecurityManager.currentLoadedClass()
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.ClassLoader.defineClass(byte[], int, int)
          defineClass(String, byte[], int, int) 取代 
java.lang.Thread.destroy()
          该方法最初用于破坏该线程,但不作任何清除。它所保持的任何监视器都会保持锁定状态。不过,该方法决不会被实现。即使要实现,它也极有可能以 Thread.suspend() 方式被死锁。如果目标线程被破坏时保持一个保护关键系统资源的锁,则任何线程在任何时候都无法再次访问该资源。如果另一个线程曾试图锁定该资源,则会出现死锁。这类死锁通常会证明它们自己是“冻结”的进程。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对? 
java.lang.String.getBytes(int, int, byte[], int)
          该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。 
java.util.Date.getDate()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。 
java.util.Date.getDay()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。 
java.util.Date.getHours()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。 
java.lang.SecurityManager.getInCheck()
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.Runtime.getLocalizedInputStream(InputStream)
          从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReaderBufferedReader 类。 
java.lang.Runtime.getLocalizedOutputStream(OutputStream)
          从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriterBufferedWriterPrintWriter 类。 
java.util.Date.getMinutes()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。 
java.util.Date.getMonth()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。 
java.util.Date.getSeconds()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。 
java.util.Date.getTimezoneOffset()
          从 JDK 1.1 开始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。 
java.util.Date.getYear()
          从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。 
java.lang.SecurityManager.inClass(String)
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.SecurityManager.inClassLoader()
          建议不使用该类安全检查。建议使用 checkPermission 调用。 
java.lang.Character.isJavaLetter(char)
          用 isJavaIdentifierStart(char) 取代。 
java.lang.Character.isJavaLetterOrDigit(char)
          用 isJavaIdentifierPart(char) 取代。 
java.lang.Character.isSpace(char)
          用 isWhitespace(char) 取代。 
java.util.Date.parse(String)
          从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。 
java.lang.Thread.resume()
          该方法只与 Thread.suspend() 一起使用,但 Thread.suspend() 已经遭到反对,因为它具有死锁倾向。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对? 
java.lang.ThreadGroup.resume()
          此方法只用于联合 Thread.suspendThreadGroup.suspend 时,因为它们所固有的容易导致死锁的特性,所以两者都已废弃。有关详细信息,请参阅 Thread.suspend() 
java.lang.System.runFinalizersOnExit(boolean)
          该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。 
java.lang.Runtime.runFinalizersOnExit(boolean)
          此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。 
java.util.Properties.save(OutputStream, String)
          如果在保存属性列表时发生 I/O 错误,则此方法不抛出 IOException。保存属性列表的首选方法是通过 store(OutputStream out, String comments) 方法或 storeToXML(OutputStream os, String comment) 方法来进行。 
java.util.Date.setDate(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。 
java.util.Date.setHours(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。 
java.util.Date.setMinutes(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。 
java.util.Date.setMonth(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.MONTH, int month) 取代。 
java.util.Date.setSeconds(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。 
java.util.Date.setYear(int)
          从 JDK 1.1 开始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。 
java.lang.Thread.stop()
          该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示它要停止运行,则从其运行方法依次返回。如果目标线程等待很长时间(例如基于一个条件变量),则应使用 interrupt 方法来中断该等待。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对? 
java.lang.ThreadGroup.stop()
          此方法具有固有的不安全性。有关详细信息,请参阅 Thread.stop() 
java.lang.Thread.stop(Throwable)
          该方法具有固有的不安全性。请参阅 Thread.stop() 以获得详细信息。 该方法的附加危险是它可用于生成目标线程未准备处理的异常(包括若没有该方法该线程不太可能抛出的已检查的异常)。 有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对? 
java.lang.Thread.suspend()
          该方法已经遭到反对,因为它具有固有的死锁倾向。如果目标线程挂起时在保护关键系统资源的监视器上保持有锁,则在目标线程重新开始以前任何线程都不能访问该资源。如果重新开始目标线程的线程想在调用 resume 之前锁定该监视器,则会发生死锁。这类死锁通常会证明自己是“冻结”的进程。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对? 
java.lang.ThreadGroup.suspend()
          此方法容易导致死锁。有关详细信息,请参阅 Thread.suspend() 
java.util.Date.toGMTString()
          从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代,使用 GMT TimeZone 
java.util.Date.toLocaleString()
          从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代。 
java.util.Date.UTC(int, int, int, int, int, int)
          从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime() 
 

已过时的构造方法
java.util.Date(int, int, int)
          从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date)GregorianCalendar(year + 1900, month, date) 取代。 
java.util.Date(int, int, int, int, int)
          从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min)GregorianCalendar(year + 1900, month, date, hrs, min) 取代。 
java.util.Date(int, int, int, int, int, int)
          从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。 
java.util.Date(String)
          从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。 
java.lang.String(byte[], int)
          该方法无法将字节正确转换为字符。从 JDK 1.1 起,完成该转换的首选方法是通过 String 构造方法,该方法接受一个字符集名称或使用平台的默认字符集。 
java.lang.String(byte[], int, int, int)
          该方法无法将字节正确转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是通过 String 构造方法,它接受一个字符集名称,或者使用平台默认的字符集。 
 


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策