I don't love java. Not at all. All my out of work coding is in other languages - primarily clojure since I can make use of the java I write at work.
However, my company has a risk management system that was written in C++. It's a system of large matrix operations that uses a lot of CPU and memory. Being one of the few neck beards at my company who had ever written C++, I was tasked with translating it to java. In order to guarantee correctness, I slavishly maintained the algorithms, classes, etc. This allowed me to compare intermediate results at each step, but obviously didn't allow for any improvements I might otherwise have done. I was hoping for a runtime differential of 2x over the C++ version which would have been adequate for our needs. I paid no attention to runtime performance, though, since correctness was the prime goal - we're talking about real money in the balance. Once I was satisfied with the numbers, I ran some performance tests. I was shocked to find the jave version ran 40% faster than the C++ version. And this was prior to performance enhancements that I was able to put into the java version added largely by the huge ecosystem that has built up around java/JVM programming.
So, yes, I don't like java, but it's hard not to respect it. Obviously, one example doesn't end the debate about performance, but I'll admit to having been shocked at this result.