Java objects go through several phases in their lifecycle: 1. Creation occurs when memory is allocated and the constructor is called. 2. In use refers to objects that are still referenced by the program. 3. Unreachable means there are no longer any references to the object, making it eligible for garbage collection. 4. Collection and finalization are garbage collection phases where unreachable objects have their memory reclaimed.