I don't generally work with Java, but I reexamined Eclipse when playing around with Android apps. I find that it still gets in my way, but at least this time around I had enough RAM to run it well.
I use vim with Java. It works great - I don't believe that an IDE should ever be a requirement for writing good code. If this is the case, the language fucked up.
Well, emacs should be available on most platforms. ;-)