No, they aren't. All types of object are garbage-collected similarly. Strings have a sort of constant pool for those which exist as literals; since they are in the actual code, they remain "accessible" until the classes they are used in are unloaded (and, I think, until their class loaders are unloaded too).
Joined: Oct 13, 2005
About arrays: if you are feeling brave go through the Java Language Specification, here.