No, you lose efficient code. For a simple example, the string abstractions in C++ and Java are much, much less computationally efficient than manipulating a C character array.
Once you're willing to take that hit for the sake of the things the abstractions gain you, Java's bytecode machine is a tiny additional hit versus the far superior design of the language itself.
And anyway, in case you didn't know it there are tools (like gcj) for compiling java straight to native code if that's what you really want. Only that usually isn't what you want because object code portability is damn useful.