The invocation of an object’s finalized method is always the last thing that happens before an object is garbage collected.
When a stack variable goes out of scope it is eligible for GC.
Some reference variables live on the stack, and some live on the heap.
Only objects that have no reference variables referring to them can be eligible for GC.
It’s possible to request the GC via methods in either java.lang.Runtime or java.lang.System classes.
All three classes have a length() method.
Objects of type StringBuffer are thread-safe.
All three classes have overloaded append() methods.
The "+" is an overloaded operator for all three classes.
According to the API, StringBuffer will be faster than StringBuilder under most implementations.
The value of an instance of any of these three types can be modified through various methods in the API.
The DateFormat.getDate() is used to convert a String to a Date instance.
Both DateFormat and NumberFormat objects can be constructed to be Locale specific.
Both Currency and NumberFormat objects must be constructed using static methods.
If a NumberFormat instance's Locale is to be different than the current Locale, it must be specified at creation time.
A single instance of NumberFormat can be used to create Number objects from Strings and to create formatted numbers from numbers.
If the equals() method returns true, the hashCode() comparison == might return false.
If the equals() method returns false, the hashCode() comparison == might return true.
If the hashCode() comparison == returns true, the equals() method must return true.
If the hashCode() comparison == returns true, the equals() method might return true.
If the hashCode() comparison != returns true, the equals() method might return true.
It must be marked final.
It can be marked abstract.
It can be marked public.
It can be marked static.
It can access private members of the enclosing class.
The notifyAll() method must be called from a synchronized context.
To call wait(), an object must own the lock on the thread.
The notify() method is defined in class java.lang.Thread.
When a thread is waiting as a result of wait(), it release its lock.
The notify() method causes a thread to immediately release its lock.
The difference between notify() and notifyAll() is that notifyAll() notifies all waiting threads, regardless of the object they're waiting on.