Java will never approach C++
Time to face the facts. 10mS is enough time to execute 1,000,000 instructions on a modern processor. That's a million. You know 1e6! That doesn't include the 1000+ cycle best-case nap in the allocator, or multithreaded heap contention. In C++ you can control these things when you need to. In Java, no way. Java will never, can never meet the performance of C++ on apps that have to run flat out. In fact, when Java is only 10x slower, that's considered an impressive feat. Now that processors aren't getting faster anymore, the speed disadvantage is locked in.
It must be embarrassing to use a language with such obvious training wheels. Time to step up.