S is an object reference pointing to an object. So if s had an object already, then after assigining s to null ( s = null ) the object referred by s will be eligible for GC. In this case none of the objects will be eligible for GC because s was not pointing to any object before initilizing to null. [ December 15, 2005: Message edited by: Srinivasa Raghavan ]
If you ask about which object available for GC you must specify at what point during the execution are you asking?
Anyways String s = null means only a reference variable is created. No object is created yet so no object is available for GC. Object is only created using new (ofcourse string is different and object can be created without new also String s = "abcd"