>>8
Java can easily match, if not overpower C++
Java can't match C/C++. Java has no pointers and have to recompile code on startup: it runs inside virtual machine and every array access goes through bounds check.
In Java,
for (I=0; I<N; I++) g(A[f(I)]) would expand into
for (I=0; I<N; I++) {
int J = f(I);
if (J >= length(A)) exception(Array index out of bounds");
g(A[J]);
}