Not really. Which bits do you specifically disagree with?
Pretty much what I quoted. The JVM will *never* be *faster* than what can be achieved in a strictly machine code compiled program. Just like the java compiler and JVM makes optimizations as it sees fit, so do the good C compilers.
For "normal" applications it is besides the point, though. Java is being blamed on too much due to poor coders, but it can never be faster than (since we're talking about C) C, compiled by a good compiler.
C++ has more overhead than C, while it does provide a larger standard library. It is a trade-off. It is very unlikely that an operating system that would want to compete with the linux kernel for instance, to be written in anything but C/asm even this day. C is as close to asm you get, with no magic in the background. OO etc are virtual constructs / paradigms that require magic to happen in the background.
Note that I am not saying Java is bad, it just cannot be compared to C (and other to-machine-code compiled languages). What should be discussed over language, is the compiler though. Majority of my work is compiled using the GCC, and nvidia's SDK for CUDA. I work with HPC, specifically computational chemistry, both on SMP and distributed CPU and GPGPU systems. C and Fortran are kings in this area - and it is that for a reason.
p.s. as a side note, try hiring good C programmers and then compare to your Java code base .