Java is crap under any circumstances. The Java 3D games and the Java 2D games that I've played were all horribly handled and took
far more resources than they should need.
And coupled with that, you need the special Java player, which spends all of its time hogging your CPU by checking for updates constantly.
Okay here'e the scoop. Just had a little chat with my dad as to what programming language he would suggest for a group of inexperienced hopefuls who want to program a game (he stated that it would have to be an inexperienced group to want to do that, as an experienced programmer would be terrified by the magnitude of programming a game).
He's given us two options. If we want the game to span multiple platforms (Linux, Mac, etc.), we have one choice, C++.
However, although C++ is indeed powerful and can allow you to make something with a lot of features and that runs fast, you've really got to know what you're doing, otherwise you'll program yourself into oblivion in a few minutes. You can, quite easily, crash your machine with a single poorly-written routine.
He recommends C#, which is much easier on the fresh programmer, but can only run under Windows and may possibly run a bit slower than C++. It will prevent holes in the programming from appearing or at least ruining your comp.
He considered Java, but he said that he doesn't know how it works with games. I can only speak from experience, but every Java game that I've come across (be it 2D or 3D) has been horrible. I would not recommend it.