Java is what I've been doing most of my programming in over recent years. At home I use it for more heavyweight applications than I would tackle in Ruby.
The good points are Java's relative platform independence, and availability of libraries to do a range of operations.
The bad points are Java is still close to the metal in many ways, there are multiple libraries around for area (I've worked on systems which 3-4 different libraries at the same time for XML handling.)
And Java isn't supported on the iPad.
As an IDE I use Netbeans. The GUI is simpler than Eclipse which I use at work. I don't like the switching between windows in Eclipse.