Deprecated API

Deprecated Classes
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.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 StringReader class. 
 

Deprecated Fields
java.net.HttpURLConnection.HTTP_SERVER_ERROR
          it is misplaced and shouldn't have existed. 
java.lang.SecurityManager.inCheck
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
 

Deprecated Methods
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.lang.SecurityManager.checkMulticast(InetAddress, byte)
          Use #checkPermission(java.security.Permission) instead 
java.lang.SecurityManager.classDepth(String)
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
java.lang.SecurityManager.classLoaderDepth()
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
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. 
java.lang.SecurityManager.currentClassLoader()
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
java.lang.SecurityManager.currentLoadedClass()
          This type of security checking is not recommended. It is recommended that the checkPermission call 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.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.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 the getBytes() method, which uses the platform's default charset. 
java.util.Date.getDate()
          As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_MONTH). 
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.lang.System.getenv(String)
          The preferred way to extract system-dependent information is the system properties of the java.lang.System.getProperty methods and the corresponding getTypeName methods of the Boolean, Integer, and Long primitive types. For example:
     String classPath = System.getProperty("java.class.path",".");
 
if (Boolean.getBoolean("myapp.exper.mode")) enableExpertCommands();
 
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 checkPermission call be used instead. 
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 InputStreamReader and BufferedReader classes. 
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, and PrintWriter classes. 
java.util.Date.getMinutes()
          As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE). 
java.util.Date.getMonth()
          As of JDK version 1.1, replaced by Calendar.get(Calendar.MONTH). 
java.util.Date.getSeconds()
          As of JDK version 1.1, replaced by Calendar.get(Calendar.SECOND). 
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.util.Date.getYear()
          As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) - 1900. 
java.lang.SecurityManager.inClass(String)
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
java.lang.SecurityManager.inClassLoader()
          This type of security checking is not recommended. It is recommended that the checkPermission call be used instead. 
java.util.Date.parse(String)
          As of JDK version 1.1, replaced by DateFormat.parse(String s). 
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 the DataInputStream class to read lines can be converted to use the BufferedReader class by replacing code of the form:
     DataInputStream d = new DataInputStream(in);
 
with:
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));
 
 
java.io.ObjectInputStream.readLine()
          This method does not properly convert bytes to characters. see DataInputStream for the details and alternatives. 
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.Runtime.runFinalizersOnExit(boolean)
          This method 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.System.runFinalizersOnExit(boolean)
          This method 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. As of the Java 2 platform v1.2, the preferred way to save a properties list is via the store(OutputStream out, String header) 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); ...... 
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. 
java.util.Date.setHours(int)
          As of JDK version 1.1, replaced by Calendar.set(Calendar.HOUR_OF_DAY, int hours). 
java.util.Date.setMinutes(int)
          As of JDK version 1.1, replaced by Calendar.set(Calendar.MINUTE, int minutes). 
java.util.Date.setMonth(int)
          As of JDK version 1.1, replaced by Calendar.set(Calendar.MONTH, int month). 
java.util.Date.setSeconds(int)
          As of JDK version 1.1, replaced by Calendar.set(Calendar.SECOND, int seconds). 
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.net.URLStreamHandler.setURL(URL, String, String, int, String, String)
          Use setURL(URL, String, String, int, String, String, String, String); 
java.util.Date.setYear(int)
          As of JDK version 1.1, replaced by Calendar.set(Calendar.YEAR, year + 1900). 
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 ThreadDeath exception 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 of stop should 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), the interrupt method 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 is inherently unsafe. See Thread.stop() (with no arguments) for details. An additional danger of this method is that it may be used to generate exceptions that the target thread is unprepared to handle (including checked exceptions that the thread could not possibly throw, were it not for this method). 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 GMT TimeZone. 
java.util.Date.toLocaleString()
          As of JDK version 1.1, replaced by DateFormat.format(Date date). 
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 the toString() method, which uses the platform's default character encoding. 
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) or GregorianCalendar(year + 1900, month, date, hrs, min, sec), using a UTC TimeZone, followed by Calendar.getTime().getTime(). 
java.io.ObjectOutputStream.PutField.write(ObjectOutput)
          This method does not write the values contained by this PutField object in a proper format, and may result in corruption of the serialization stream. The correct way to write PutField data is by calling the ObjectOutputStream.writeFields() method. 
 

Deprecated Constructors
java.util.Date(int, int, int)
          As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(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) or GregorianCalendar(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) or GregorianCalendar(year + 1900, month, date, hrs, min, sec). 
java.util.Date(String)
          As of JDK version 1.1, replaced by DateFormat.parse(String s). 
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 String constructors that take a 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 String constructors that take a charset name or that use the platform's default charset.