@Zosden,
Performance has many meanings. If you talk about startup time, yes usually a small Java application is way slower than a small C++ application because the whole JVM is loaded. But this is not an issue for most applications.
On the server side it doesn't really matter because the servers start once and they should run extended periods of time after that.
Java code also runs slower in the beginning while it is still interpreted by the JVM. If the operation is only executed once or just a few times then probably the JIT doesn't store the native code translation for later use.
On the other hand the important pieces of code that are run over and over are actually native code and they run very very fast. The JVM and the JIT do amazing things to your code at runtime so the performance of Java code is usually, in real world situations,
better than C++ code.
Please read more on the subject before claiming that Java is 40 times slower than C++.
Here is a very instructive link:
Java theory and practice: Urban performance legends, revisited
Another feature usually blamed for Java slowness is the garbage collector. But the reality is that most serious C++ applications use garbage collection libraries

.