This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
On specialised hardware Java can easily perform as quickly as C++, in fact it can outperform it.
Even on PCs many parts of Java can be as fast as native compiled code if not faster. The idea that Java is slow was once true, but no more with modern JVMs. Sadly there's a large group of people who never used Java except to see what it was all about in the very beginning with the slower 1.0 JVMs. These people still proclaim loudly that Java is slow and state their 7 year old comparisons as proof of that (sometimes with any information that would show the age of the reports removed).
While Java cannot match the raw speed of direct access to videohardware as possible with DirectX, it can get close enough for most situations and there's some excellent OpenGL bindings available which produce comparable performance in many situations to C++ bindings.
One noticeable point here is not a technical one but deals with programmers skill. Most of video games developpers have strong experience in C++ just because this language is widely spread among all game platforms (including portable ones).
They won't switch to a new language (and new APIs !) without a lot of very good reasons, the learning cost would be indeed too high for many companies.
To my mind, the only domain where java is undoubtedly a good choice is mobile phone games.