7112008: Javadoc for j.l.Object.finalize() vs JLS 12.6 Finalization of Class Instances

Reviewed-by: mduigou
This commit is contained in:
Joe Darcy 2012-01-10 17:12:11 -08:00
parent a5c9da18fb
commit d3428db5c5

View File

@ -58,8 +58,7 @@ public class Object {
* *
* @return The {@code Class} object that represents the runtime * @return The {@code Class} object that represents the runtime
* class of this object. * class of this object.
* @see Class Literals, section 15.8.2 of * @jls 15.8.2 Class Literals
* <cite>The Java&trade; Language Specification</cite>.
*/ */
public final native Class<?> getClass(); public final native Class<?> getClass();
@ -92,7 +91,7 @@ public class Object {
* objects. (This is typically implemented by converting the internal * objects. (This is typically implemented by converting the internal
* address of the object into an integer, but this implementation * address of the object into an integer, but this implementation
* technique is not required by the * technique is not required by the
* Java<font size="-2"><sup>TM</sup></font> programming language.) * Java&trade; programming language.)
* *
* @return a hash code value for this object. * @return a hash code value for this object.
* @see java.lang.Object#equals(java.lang.Object) * @see java.lang.Object#equals(java.lang.Object)
@ -203,7 +202,7 @@ public class Object {
* exception at run time. * exception at run time.
* *
* @return a clone of this instance. * @return a clone of this instance.
* @exception CloneNotSupportedException if the object's class does not * @throws CloneNotSupportedException if the object's class does not
* support the {@code Cloneable} interface. Subclasses * support the {@code Cloneable} interface. Subclasses
* that override the {@code clone} method can also * that override the {@code clone} method can also
* throw this exception to indicate that an instance cannot * throw this exception to indicate that an instance cannot
@ -264,7 +263,7 @@ public class Object {
* <p> * <p>
* Only one thread at a time can own an object's monitor. * Only one thread at a time can own an object's monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @see java.lang.Object#notifyAll() * @see java.lang.Object#notifyAll()
* @see java.lang.Object#wait() * @see java.lang.Object#wait()
@ -288,7 +287,7 @@ public class Object {
* description of the ways in which a thread can become the owner of * description of the ways in which a thread can become the owner of
* a monitor. * a monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @see java.lang.Object#notify() * @see java.lang.Object#notify()
* @see java.lang.Object#wait() * @see java.lang.Object#wait()
@ -368,11 +367,11 @@ public class Object {
* a monitor. * a monitor.
* *
* @param timeout the maximum time to wait in milliseconds. * @param timeout the maximum time to wait in milliseconds.
* @exception IllegalArgumentException if the value of timeout is * @throws IllegalArgumentException if the value of timeout is
* negative. * negative.
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor. * the owner of the object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
@ -433,12 +432,12 @@ public class Object {
* @param timeout the maximum time to wait in milliseconds. * @param timeout the maximum time to wait in milliseconds.
* @param nanos additional time, in nanoseconds range * @param nanos additional time, in nanoseconds range
* 0-999999. * 0-999999.
* @exception IllegalArgumentException if the value of timeout is * @throws IllegalArgumentException if the value of timeout is
* negative or the value of nanos is * negative or the value of nanos is
* not in the range 0-999999. * not in the range 0-999999.
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
@ -489,9 +488,9 @@ public class Object {
* description of the ways in which a thread can become the owner of * description of the ways in which a thread can become the owner of
* a monitor. * a monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor. * the owner of the object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
@ -510,7 +509,7 @@ public class Object {
* system resources or to perform other cleanup. * system resources or to perform other cleanup.
* <p> * <p>
* The general contract of {@code finalize} is that it is invoked * The general contract of {@code finalize} is that it is invoked
* if and when the Java<font size="-2"><sup>TM</sup></font> virtual * if and when the Java&trade; virtual
* machine has determined that there is no longer any * machine has determined that there is no longer any
* means by which this object can be accessed by any thread that has * means by which this object can be accessed by any thread that has
* not yet died, except as a result of an action taken by the * not yet died, except as a result of an action taken by the
@ -549,6 +548,9 @@ public class Object {
* ignored. * ignored.
* *
* @throws Throwable the {@code Exception} raised by this method * @throws Throwable the {@code Exception} raised by this method
* @see java.lang.ref.WeakReference
* @see java.lang.ref.PhantomReference
* @jls 12.6 Finalization of Class Instances
*/ */
protected void finalize() throws Throwable { } protected void finalize() throws Throwable { }
} }