Java's performance relative to other commonly used languages is very good. It's basically been at 2-3x slower than C/C++ for quite a while.
See http://benchmarksgame.alioth.debian.org/u64q/performance.php...
1) You wrote that code in BOTH Java and C++, optimized both, and compared their running times.
2) Said code was CPU bound. For heavy IO bound code you could even use TCL and get "fractional" differences.