Earlier quoted context omitted.
You don't think it has anything to do with the abstraction and indirection levels that java operates at? Where are these well coded java games that look like something from this decade?
Good Java programmers are better payed to write High Performance Trading systems, than working on games with their low salaries and crazy schedules. Yes, there are some performance issues regarding lack of value types, but not every single game is going to be the next Crysis. Yet it appears by some in the game community that if language X cannot be used for doing Crysis than it is not worth it, let alone that most li…
Our internal performance testing is ranking Java on par with the C++ implementations of the same algorithm (performance typically flattens until a bottleneck is reached such as disk read speed) or completing the same tasks faster. In one side this is due to the JVM optimizations done automatically, the other side is having developers that understand how to write efficient code. This does require an experienced developer which understands how his code is impacting performance.
For example, avoiding ArrayLists or String objects and learning to use direct arrays or char objects. I can see LWJGL being useful, most particularly to help keep the infrastructure under the same language so that development and long-term maintenance are not a nightmare.