Although benchmarks usually can't be generalized (and there are operations where c++ is twice as fast as java) this article shows, that you can come up with benchmarks where java matches the speed (and occasionally tops the speed of) c++.
http://www.javaworld.com/javaworld/j...-02-jperf.html
One of javas problems is that amateurish programmers (like myself) usually code in Java (or VB) because it's so easy. And there are simple ways of making Java very slow (like packing the whole program into the GUI thread).
However there are less crashes, memory leaks and other errors of the uglier kind (since you simply can't mess around with pointers), - thats why I prefer it.