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.