C/C++ is still the right solution for extreme high performance. Java has gotten faster over time and is sufficiently fast for most cases, but will never beat C/C++ performance.

Previous to Java the language of choice was C++, and before that, C.

Java has eclipsed C++ in a lot of ways, but for all out performance, C/C++ is the ideal.

The compile time type checking in C++ is very similar to C, but has some legacy language features that are easily abused and polymorphism with virtual methods or managing memory in a large application can add a lot of complexity.

C/C++ is still an ideal solution for systems programming or embedded development where performance is mandatory.